The present invention relates to a method, and associated apparatus and software, for evaluating build orientations for additively manufacturing an object
A known software tool for determining a build orientation for additively manufacturing an object is described at https://additive.works/assessment. An Assessment module enables a user to automatically re-orientate the part according to user preferences or to determine potentially good orientations for more detailed analysis. Another known tool for determining optimal orientation is described at http://www.materialise.com/en/software/magics/modules/metal-support-generation-module.
A first aspect of the invention provides a method of evaluating build orientations for additively manufacturing an object, as set out in claim 1. The method comprises: receiving geometry information indicating a geometry of the object; generating multiple data sets from the geometry information, wherein each data set indicates variation of a respective associated performance indicator over a design space containing multiple possible build orientations; generating a composite data set by combining the multiple data sets; generating a representation of the composite data set, wherein the representation of the composite data set graphically illustrates variation of the composite data set over the design space; displaying an image containing the representation of the composite data set; receiving a user input which either selects a set of one or more of the possible build orientations or accepts a pre-selected set of one or more of the possible build orientations; and outputting a solution based on the user input.
Typically there are a large number of competing performance indicators to consider, for example four or more, typically four to ten. Therefore it can be difficult or impossible for a user to visualise which parts of the design space are likely to be optimal. To solve this problem, a composite data set is generated by combining the multiple data sets. This composite data set is then viewed by a human user via the image, which enables the human user to use engineering knowledge to either select one or more of the possible build orientations, or confirm a pre-selected set of one or more of the possible build orientations.
In one embodiment, the user input selects one or more of the possible build orientations. For instance the user input may select one or more of the possible build orientations from the image by clicking on the image using a mouse, a touch-sensitive screen, or other user input device.
In another embodiment, the user input accepts a pre-selected set of one or more of the possible build orientations. For instance the pre-selected set of one or more of the possible build orientations may be a global minimum or maximum which is automatically determined by the computer from the composite data set. In this case, displaying the image enables a human user to visualise the composite data set and use engineering knowledge to determine whether the global minimum or maximum automatically determined by the computer is in fact optimal. If so, then the user input accepts the global minimum or maximum. If not, then the user input may select one or more different build orientations using a mouse, a touch-sensitive screen, or other user input device.
The solution is based on the user input. In one example the solution may simply be an indication of the set of build orientations which have been either selected or accepted by the user input. In another example the solution may be a build data file containing geometry information indicating a geometry of the object in a particular build orientation which has been either selected or accepted by the user input.
Combining the multiple data sets typically comprises merging the multiple data sets or generating a logical conjunction of the multiple data sets. Optionally the multiple data sets are combined by scaling and merging the multiple data sets. Optionally the multiple data sets are combined by normalising and merging the multiple data sets.
The representation of the composite data set may be a bi-variate representation (such as a map or polar plot) which graphically illustrates variation of the composite data set over a design space with two variables, or it may be a univariate representation (such as a line plot) which graphically illustrates variation of the composite data set over a design space with only a single variable.
The representation of the composite data set may be a map or a line plot for example. The map may be a binary map, a contour map or a colour-coded heat map.
Optionally the representation of the composite data set illustrates feasible and non-feasible areas of the design space.
Optionally combining the multiple data sets comprises applying a parameter to each of the multiple data sets to generate a respective plurality of modified data sets; and combining the modified data sets to generate the composite data set. The parameters may be obtained by user input or by retrieval from a database.
Optionally the parameters are thresholds, and the modified data sets indicate feasible and non-feasible areas of the design space based on the thresholds.
Optionally the method further comprising perturbing at least one of the thresholds, either by user input or by an automated algorithm, such as a penalty function, so that each of the modified data sets indicates at least one feasible area of the design space.
A further aspect of the invention provides a method of additively manufacturing an object, the method comprising: performing the method of the first aspect; and additively manufacturing the object in accordance with the solution output by the method of the first aspect.
If the solution is an indication of a particular build orientation which has been either selected or accepted by the user input, then typically the particular build orientation is used to generate a build data file which in turn is used to additively manufacture the object. If the solution is an indication of multiple build orientations which have been either selected or accepted by the user input, then typically the multiple build orientations are further interrogated to select a particular build orientation which is then used to generate a build data file which in turn is used to additively manufacture the object. If the solution is a build data file containing geometry information indicating a geometry of the object in a particular build orientation then this can be used directly to manufacture the object.
A further aspect of the invention provides a computer programmed to evaluate build orientations for additively manufacturing an object by a method according to the first aspect.
A further aspect of the invention provides additive manufacturing apparatus comprising: a computer according to the previous aspect; and a machine arranged to receive the solution from the computer and additively manufacture the object in accordance with the solution received from the computer.
A further aspect of the invention provides a computer program which, when loaded into a computer, programs the computer to evaluate a build orientation for additively manufacturing an object by a method according to the first aspect.
A further aspect of the invention provides a method of additively manufacturing an object, the method comprising: receiving a part data file; generating multiple data sets from the part data file, wherein each data set comprises a matrix of performance indicator values each associated with a possible build orientation; generating a composite data set by combining the multiple data sets; displaying an image containing a representation of the composite data set; receiving a user input which either selects part of the composite data set or accepts a pre-selected part of the composite data set; generating a build data file on the basis of the user input; and additively manufacturing the object with the machine in accordance with the build data file.
Embodiments of the invention will now be described with reference to the accompanying drawings, in which:
The software 16 includes various computer programs shown in
An additive manufacturing machine 20 shown in
The build data file 19 may be a slice file containing contour information, or a machine file containing tool paths, laser power, laser speed etc. If the build data file 19 is a slice file, then the personal computer 22 converts the slice file into a machine file which can be used by the control system(s) to control the machine 20.
The program 16c receives a part data file 100, either directly from the CAE toolset 16a, or via the build preparation software 16b which performs some pre-processing (e.g. diagnostics of mesh quality, element fixing, etc.). The part data file 100 contains geometry information indicating a geometry of the object in an arbitrary orientation. For instance, with reference to
The part data file 100 contains a description of the object's surface topology and may be in a number of formats, one example being the stereolithography (STL) file format: a mesh of 2D triangular elements defined by vertex coordinates and surface normals. Additive Manufacturing File Format (AMF), 3D Manufacturing Format (3MF), finite-element meshes (e.g. INP format), meshes of quad elements or even native Computer Aided Design (CAD) are alternative formats for the part data file 100.
In an analysis procedure 102 the computer 1 generates multiple competing key performance indicator (KPI) data sets 104a,b from the part data file 100. Each KPI data set indicates variation of a respective associated KPI over a design space containing multiple possible build orientations. In this example only two KPI data sets 104a,b are illustrated, but in general the number of KPI data sets may be much higher, typically between four and ten. Examples of suitable KPIs are: object height, bounding box, support requirement (surface and volume), cross-sectional area, local minima, bridging (convergence of features).
The program 16c generates a representation of each KPI data set, the representation of the KPI data set graphically illustrating variation of the KPI data set over the design space. The display 17 displays multiple images, each containing a representation of a respective KPI data set.
Rotation about the z-axis is significantly less important as this does not change the object's cross-sectional area (layer-wise) or support requirement. It does vary the object's form with respect to the gas flow and powder recoating directions but these are considered to be second order factors for selection of build orientation.
The analysis procedure 102 is an algorithm with two parts: a rotation process and a KPI calculation process.
The rotation process rotates the part data file 100 to generate a set of multiple possible build orientations, the full set of possible build orientations constituting a design space. One-off operations such as mesh scaling, translation (to positive quadrant of Cartesian co-ordinate system) are prerequisites to starting the rotation process. Object surface area and volume are also calculated. These types of procedures are undertaken automatically when a user selects and imports the part data file 100. Each element of the mesh is re-orientated using a rotation matrix, and new data stored in the RAM 13. The rotation matrix simultaneously applies two extrinsic rotations: firstly about the X-axis of the build chamber and then about the Y-axis of the build chamber. This orientation forms a single sampling point within the design space.
Additional rotations and analyses are undertaken in parallel until the design space is sampled to the desired resolution. Typically 5 degree increments are used in both X and Y axes from 0 to 355 degrees inclusive, giving a total of 5184 orientations. Alternatively increments of 1 degree in each axis could be used (130,000 orientations).
Optionally one dimension only needs to be sampled from 0 to 180 degrees in order to prevent generation of some duplicate solutions.
Once rotated, the mesh is then analysed in the KPI calculation process to determine various manufacturability KPIs at each sampling point of the design space. The algorithms used in the KPI calculation process can fall into two distinct categories: 1) using raw mesh data; or 2) using data generated by “slicing” of the mesh (sectioning the part layer-wise to form contours). The output of the KPI calculation process is a collection of KPI data sets. Each KPI data set contains a matrix of KPI values, showing how the KPI varies across the design space.
The KPI calculation process needs to know the nature of the technology being used by the machine 20 (for instance powder-bed technology, fuse deposition modelling, feedstock, melt theme etc). This technology is input at 108 and may be provided by the user input device 10, or could be automatically detected if the computer 1 is linked to a particular machine 20. A data base 110 (stored on RAM 13, SSD/HDD 14, or even a remote server) stores information in one or more look-up-tables (LUT). The information stored on the data base 110 describes how KPIs vary with different technologies. The analysis procedure 102 receives information 108 about the technology and queries the database 110 for information about the KPI(s) being analysed. The analysis procedure 102 receives information from the data base 110 which is then used to analyse the mesh, as described above.
Next a logic test 106a,b is applied to each KPI data set 104a,b on the basis of a respective parameter 107a,b. In this example, the logic test 106a,b tests whether the KPI is less than a threshold set by the parameter 107a,b. The parameters 107a,b are defined by user input via the input device 10 and display 17—for instance by adjusting sliders in a graphical user interface (GUI).
If the KPI is less than the threshold, then the logic test outputs a logical “1”, otherwise it outputs a logical “0”. The outputs of the logic test 106a,b are binary data sets 110a,b. At steps 112a,b the program 16c generates a representation of each binary data set 110a,b, the representation of the binary data set graphically illustrating variation of the binary data set over the design space, then at steps 114a,b the display 17 outputs associated images illustrated in
In this example, the parameters 107a,b set respective thresholds for the two KPIs, and the binary data sets 110a,b indicate feasible and non-feasible areas of the design space based on the thresholds. In the more general case, some other parameter may be applied to each of the multiple KPI data sets 104a,b to generate a respective plurality of modified data sets 110a,b which may or may not be binary data sets.
The binary maps of
To solve this problem, a binary composite data set 118 is generated by combining the multiple binary data sets 110a,b by a logical conjunction 116. Specifically, the binary data sets 110a,b are combined by a logical AND function to give the binary composite data set 118, which is a binary matrix.
Next a representation of the binary composite data set 118 is generated at step 120, the representation of the binary composite data set 118 graphically illustrating variation of the binary composite data set over the design space; and at step 122 an image is displayed on the display 17 containing the representation of the binary composite data set 118.
After displaying the image of
In this example the solution 2 output by the program 16c is an indication of a single particular build orientation X1. This particular build orientation X1 is then used to generate a build data file 19 which in turn is used to additively manufacture the object. As shown in
Alternatively the solution 2 output by the program 16c may be a rotated version of the part data file, such as an STL file, containing geometry information indicating a geometry of the object in a single particular build orientation. In this case the STL file of the object in the particular build orientation is output directly to the OEM tool 18 by the program 16c as shown in
In an alternative embodiment, the solution 2 output by the program 16c may indicate a set of multiple build orientations rather than only a single particular build orientation X1. An example of this is shown in
In the examples of
The pre-defined parameters 200a,b are defined by the database 110 which contains empirical data coupled to a specific technology as selected at 108, and also by a sub-technology selected at 108a. By way of example, if the parameter 200a is the maximum cross-sectional area of any individual geometric feature, then in the case of a powder-bed laser-beam technology using feedstock Ti6Al4V then the parameter 200a from the database 110 may be 2000 mm2; and in the case of a powder-bed electron-beam technology using feedstock Ti6Al4V then the parameter 200a from the database 110 may be 10,000 mm2.
A user first selects a technology class 108 such as powder-bed technology or fuse deposition modelling. This choice of technology 108 then determines a possible set of sub-technologies (for instance feedstock, machine). The sub-technologies are selected at 108a and determine the pre-defined parameters 200a,b output from the database 110.
In the examples above, it is assumed that the binary composite data set 118 contains some feasible solutions—in other words at least one white area in the image of
An example of a suitable perturbation is:
L
a
N=(La−Amin)/(Amax−Amin)
Δa=δa−LaN where 0.0≤δa≤1.0
E=½kaΔa2+½kbΔb2+ . . .
In the example above, LaN is the normalised limit on KPI data set 104a. LaN, is found by taking the limit 200a and subtracting the minimum point 105b on the KPI data set, then dividing that by the difference between the maximum point 105a on the KPI data set 104a and the minimum point 105b on the KPI data set 104b. The normalised limit 200a, LaN, will therefore be a value between 0 and 1 inclusive.
The normalised limit, LaN, is perturbed to a new normalised limit, δa. The new normalised limit δa is constrained to only have a value between 0 and 1 inclusive. The change in KPI data set 104a is defined as Δa: the difference between LaN and δa.
The limits set for each different KPI data set 104a,b define optimal limits. For this reason any point beyond these limits negatively affect the manufacture. Depending on the technology 108 some KPIs might be more important than others. For this reason weightings 210, ka, kb, for each KPI data set 104a,b are applied. Some KPIs might also degrade the object to be manufactured faster than other KPIs for the same perturbation.
The equation is best understood when thinking about the energy, E, of the system. The energy, E, of one KPI data set (104a or 104b) can be modelled like the energy in a spring system, wherein the energy equation above has a KPI data set 104a weighting 210, ka (like a spring constant), and a change in KPI data, Δa (like a change in string length). The zero energy is defined as the system energy when there is no perturbation from the limits 200a,b (i.e. δa=LaN). Any perturbation of KPI data sets 104a,b will therefore cause the energy to rise or fall. At the zero energy there is no feasible solution, it is therefore necessary to raise the energy, E, of the system. This is done by perturbing δa and δb (and δ for any other KPI data sets). Therefore, to find the optimal solution, minimise E, whilst ensuring there is a feasible solution on composite map. Step 220 performs this algorithm and edits the limits 200a,b with the new limits that produce the minimum system energy, E.
A simplistic prioritisation of three KPIs for two different technologies is shown below in Table 1. The prioritisation will determine how the stiffnesses in the penalty function are chosen.
EB machines can use floating supports so high support requirement does not always equate to high support volume and increased build time/cost. EB is a hot process so large cross-sections do not tend to result in part distortion. Conversely, CSA and distortion is the primary concern for cold LB processes. Finally, the area the object projects onto the XY-plane influences the number of objects that can be fitted into a build. This is less of a factor for EB as parts can be nested vertically due to the ability to use floating supports. LB parts tend to have supports that connect to the build platform.
In the example of
Next, the normalised data sets are merged to provide the normalised and merged composite data set 119 illustrated in
The normalised and merged composite data set 119 is then combined with the binary composite data set 118 to generate a hybrid composite data set 130.
In the example of
As mentioned above, an advantage of providing the visualisation and user input steps 120, 122, 124 is that it enables a human user to apply their engineering knowledge to select a solution which may differ from that which may be determined automatically by the computer 1.
Optionally the computer 1 can automatically pre-select an optimal build orientation by analysing the normalised and merged composite data set 119, with no initial user input. For instance the computer 1 may automatically determine a global minimum or maximum from the composite data set 119.
An advantage of displaying the image of
Regions of closely spaced contour lines are sensitive to perturbation in orientation. Optionally the visualisation step 120 may mathematically differentiate the composite data set 119 to produce an image 122 which directly shows the rate of change across the design space, in order to quantify sensitivity.
In further embodiments, the KPI data sets 104a,b can be formed from an algorithmic combination of other KPI data sets. An example of a KPI like this could be build time, because build time is dependent on other KPIs like build height and support structures etc.
Where the word ‘or’ appears this is to be construed to mean ‘and/or’ such that items referred to are not necessarily mutually exclusive and may be used in any appropriate combination.
Although the invention has been described above with reference to one or more preferred embodiments, it will be appreciated that various changes or modifications may be made without departing from the scope of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
1803103.9 | Feb 2018 | GB | national |