WO2021221615A1 - Evaluating dimensional accuracy based on weighting factors - Google Patents
Evaluating dimensional accuracy based on weighting factors Download PDFInfo
- Publication number
- WO2021221615A1 WO2021221615A1 PCT/US2020/030268 US2020030268W WO2021221615A1 WO 2021221615 A1 WO2021221615 A1 WO 2021221615A1 US 2020030268 W US2020030268 W US 2020030268W WO 2021221615 A1 WO2021221615 A1 WO 2021221615A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- dimensions
- dimension
- additive manufacturing
- function
- data
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y10/00—Processes of additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
- B29C64/393—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y30/00—Apparatus for additive manufacturing; Details thereof or accessories therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/10—Additive manufacturing, e.g. 3D printing
Definitions
- Additive manufacturing techniques may generate a three-dimensional object through the solidification of a build material, for example on a layer-by-layer basis.
- build material may be supplied in a layer-wise manner and the solidification method may include heating the layers of build material to cause melting in selected regions.
- chemical solidification methods may be used.
- Figure 1 is a flowchart of an example method of determining geometrical compensations to be applied to models of objects to be generated in additive manufacturing
- Figure 2 is a flowchart of another example method of determining geometrical compensations to be applied to models of objects to be generated in additive manufacturing
- Figure 3 is a simplified schematic drawing of an example apparatus
- Figure 4 is a simplified schematic drawing of an example apparatus for additive manufacturing
- Figure 5 and Figure 6 are simplified schematic drawings of an example machine readable medium associated with a processor.
- Additive manufacturing techniques may generate a three-dimensional object through the solidification of a build material.
- the build material is a powder-like granular material, which may for example be a plastic, ceramic or metal powder and the properties of generated objects may depend on the type of build material and the type of solidification mechanism used.
- the powder may be formed from, or may include, short fibres that may, for example, have been cut into short lengths from long strands or threads of material.
- Build material may be deposited, for example on a print bed and processed layer by layer, for example within a fabrication chamber.
- a suitable build material may be PA12 build material commercially referred to as V1R10A "HP PA12" available from HP Inc.
- selective solidification is achieved through directional application of energy, for example using a laser or electron beam which results in solidification of build material where the directional energy is applied.
- at least one print agent may be selectively applied to the build material and may be liquid when applied.
- a fusing agent also termed a ‘coalescence agent' or ‘coalescing agent'
- the fusing agent may have a composition which absorbs energy such that, when energy (for example, heat) is applied to the layer, the build material to which it has been applied heats up, coalesces and solidifies, upon cooling, to form a slice of the three-dimensional object in accordance with the pattern.
- energy for example, heat
- coalescence may be achieved in some other manner.
- a suitable fusing agent may be an ink-type formulation comprising carbon black, such as, for example, the fusing agent formulation commercially referred to as V1Q60A “HP fusing agent” available from HP Inc.
- a fusing agent may comprise any or any combination of an infra-red light absorber, a near infra-red light absorber, a visible light absorber and a UV light absorber.
- fusing agents comprising visible light absorption enhancers are dye based colored ink and pigment based colored ink, such as inks commercially referred to as CE039A and CE042A available from HP Inc.
- a print agent may comprise a coalescence modifier agent, which acts to modify the effects of a fusing agent for example by reducing or increasing coalescence or to assist in producing a particular finish or appearance of an object, and such agents may therefore be termed detailing agents.
- detailing agent may be used near and outside edge surfaces of an object being printed to reduce coalescence.
- a suitable detailing agent may be a formulation commercially referred to as V1Q61A “HP detailing agent” available from HP Inc.
- a coloring agent for example comprising a dye or colorant, may in some examples be used as a fusing agent or a coalescence modifier agent, and/or as a print agent to provide a particular color for the object.
- additive manufacturing systems may generate objects based on structural design data. This may involve a designer designing a three- dimensional model of an object to be generated, for example using a computer aided design (CAD) application.
- the model may define the solid portions of the object.
- the model data may comprise, or can be processed to derive, slices or parallel planes of the model. Each slice may define a portion of a respective layer of build material that is to be solidified or caused to coalesce by the additive manufacturing system.
- deformations may occur resulting in an object being generated which does not have the expected dimensions.
- the particular deformations may depend on any or any combination of factors such as the build material used, the type of additive manufacturing, the location of the object within the fabrication chamber of the additive manufacturing apparatus, object volume and the like.
- fusing agent may be associated with a region of the layer which is intended to fuse.
- build material of neighbouring regions may become heated and fuse to the outside of the object (in some examples, being fully or partially melted, or adhering to melted build material as powder). Therefore, a dimension of an object may be larger than the region (s) to which fusing agent is applied. In order to compensate for this effect, i.e. where it is anticipated that an object may tend to ‘grow’ during manufacture, the object volume as described in object model data may be reduced.
- objects may be smaller following object generation than is specified in object model data.
- some build materials used to generate objects may shrink on cooling. Therefore, an object volume in object model data may be increased to compensate for the anticipated reduction in volume.
- the particular deformations may depend on the object's location within the fabrication chamber of the additive manufacturing apparatus. This may be because the thermal characteristics vary throughout the fabrication chamber, for example there may be small differences in temperature in different locations. In some examples, objects which are near the bottom of the chamber may be maintained at a higher temperature for a longer period than those located near the top of the fabrication chamber because objects generated near the bottom of the chamber will be generated near the start of the fabrication process, whereas those near the top will be generated later in the process. This may lead to a difference in cooling rates, which may impact deformations.
- a particular object may be subject to mechanisms which result in growth and/or shrinkage, and the appropriate transformation to apply may be influenced by the different degrees to which an object may be affected by such processes.
- Such compensations may be applied using geometrical transformation(s) which may include scaling and/or offsets.
- a geometrical transformation may comprise at least one scaling factor and/or at least one offset value, and in some examples associate a scaling factor and/or offset value with at least one of three orthogonal axes (e.g. x, y and z, wherein the z-direction is taken herein to be the direction perpendicular to layers of deposited build material and x- and y-directions are in the plane of the deposited layer(s) .
- a scaling factor may be used to multiply object dimensions in the direction of at least one axis by a value, which may be greater than 1 in order to increase the dimension (s) and less than 1 to reduce the dimension(s) , or equal to 1 to have no effect.
- the scaling factor may be applied to dimensions of an object model, for example being applied to a mesh model of the object.
- An offset may specify, for example by a specified distance or a number of defined voxels (i.e. 3D pixels), an amount to add or remove from a surface of the object (or a perimeter within a layer).
- an offset distance in an axis may be specified and the object may be eroded or may be dilated (i.e., inflated or enlarged) by this distance, for example by moving the vertices of a mesh in the case that the object model is a mesh model, or adding/subtracting a number of voxels in a voxelised model although other methods of providing an offset may be used in other examples.
- a geometrical compensation may be applied to the whole fabrication chamber.
- the geometrical compensation may comprise a geometrical compensation for each of the x-, y- and z-directions.
- the geometrical compensation comprises a scaling and an offset for each of the x-, y-. and z- directions, and so is defined by six values.
- the deformations, and therefore the appropriate compensation may vary with location within the fabrication chamber. Therefore, there may be a plurality of geometrical compensation value sets, each relating to a different location, and/or a value set may be selected or derived based on the intended location of object generation.
- a model describing the object to be generated, or a model describing the whole contents of a fabrication chamber may be modified before commencing the build process.
- the modifications may comprise a scaling, whereby the object is ‘stretched’ or ‘compressed’ along an axis or axes and/or a surface offset operation which comprises applying either an erosion or dilation operation to a surface of the object.
- Figure 1 is an example of a method, which may comprise a computer implemented method for determining a geometrical compensation to be applied to a model of a build volume.
- the method comprises, in block 102 obtaining, by at least one processor, data indicative of variations from intended dimensions in an object generated in additive manufacturing.
- the object may have been generated using an object model to which a geometrical compensation has been applied.
- the obtained data may comprise measurements of dimensions of an object, or objects, generated in additive manufacturing.
- the dimensions may be a height, a width, and/or a depth of an object.
- the measurements may include distances between features of the object, for example between features such as holes, comers, edges or faces.
- the measurements may be obtained by directly measuring the objects, by a user manually inputting measurements which were performed manually, performed automatically (for example using an optical scanning apparatus) and/or may be obtained from storage or transmitted from a remote location having been previously obtained by direct measurement.
- each dimension may have a target value, but in practice the generated object may comprise dimensions which vary from the target value.
- the data indicative of the variation from intended dimensions may also comprise an indication of the intended target value of that dimension.
- An object may have dimensions which should be within a particular range of values, or it may be intended that there is a particular standard deviation for at least some dimensions when multiple similar objects are generated.
- the data may further comprise an indication of whether the actual dimensions of generated objects is sufficiently close to the dimensions. For example, the data may comprise an indication of whether the measurement is within or outside a tolerance range.
- some object dimensions may be associated with a lower tolerance and/or higher accuracy specification than other object dimensions. These may for example be dimensions which are intended to fit closely with another object, or which are related to some physical function such as an aerodynamic function which is associated with a precise object shape, an electrical or resilient behaviour which may be associated with a precise shape and/or thickness of solidified material, or the like.
- the method comprises, in block 104, assigning, by at least one processor, a weighting factor to each of a plurality of dimensions of the object.
- the weighting factors are values which define relative importance of dimensional accuracy of the dimensions. For example, the dimensions which have a higher relative importance and/or a higher intended accuracy may be assigned a larger weighting factor and those with lower importance assigned a lower weighting factor.
- dimensions which allow the plug to fit securely within the socket may be given a higher weighting factor than dimensions of the plug or socket which are not relevant for their fitting securely together.
- the weighting factors can therefore be used to prioritise the accuracy of dimensions, depending on the object to be generated.
- the relative importance may be associated with a smaller tolerance specification for an object.
- the weighting factors may be assigned by a user of the system, who may for example lag’ dimensions as having a relative importance.
- dimensions having a high accuracy specification may be identified automatically. For example, an algorithm may have an understanding of how one object is to interface with another, and may be able to identify dimensions which are involved in the interface, or may have an understanding of the tolerance of a shape or dimension to allow the object to perform some other function.
- weighting tiers there may be a continuous scale of weighting factors, or there may be weighting tiers, with object dimensions for example being associated with a ‘high', ‘medium’ and ‘low’ weighting factor (where ‘low’ may be any dimension that has not been tagged as ‘medium’ or 'high').
- object dimensions for example being associated with a ‘high', ‘medium’ and ‘low’ weighting factor (where ‘low’ may be any dimension that has not been tagged as ‘medium’ or 'high').
- lower may be any dimension that has not been tagged as ‘medium’ or 'high'.
- the method comprises, in block 106, evaluating, by at least one processor, a dimensional accuracy of the object using a function, wherein the function depends on the weighting factors and the obtained data.
- the function may for example be a function which outputs a value. The value may increase as the dimensional accuracy of measured dimensions decreases. For a given dimensional inaccuracy, dimensions which have a higher weighting may increase the value of the function by a greater amount than dimensions with a lower rating.
- the function may be, or comprise, a function which evaluates a number of dimensions which are outside a predetermined tolerance range associated with that dimension in a weighted manner such that dimensions outside the tolerance range contribute to the evaluation in proportion to their weighting.
- evaluating the dimensional accuracy may also evaluate the fitness of a geometrical compensation used in generating the object, and may allow a ‘best fit' geometrical compensation to be determined, while taking account of the relative weightings of the dimensions.
- the geometrical compensation may comprise scaling and/or offset operations as described above.
- the determined geometrical compensation may comprise a scaling and/or an offset value for each of three orthogonal directions (x-, y-, and z-directions).
- the method may comprise identifying a geometrical compensation, which when applied to object model data representing objects to be generated can improve the accuracy of the dimensions according to their weighting factors, because they are based on both the obtained data and the weighting factors.
- determining the geometrical compensation may comprise selecting a geometrical compensation that would reduce the variation of measured dimensions from their intended dimensions to a greater extent for dimensions for more important dimensions as defined by their weighting factors.
- the weighting factors may be selected for example based on an intended use of the object (for example, as a plug or socket component, or to impart precise physical characteristics) and/or to prioritise improving the accuracy of dimensions which can more readily be improved by geometrical compensation e.g.
- numerical values may be assigned as weighting factors, either directly or by categorising the dimensions, for example in categories such as “high”, “medium” and “low” importance.
- Figure 2 is an example of a method, which may comprise a computer implemented method for determining a geometrical compensation to be applied to a model of a build volume.
- the method comprises, in block 202, obtaining, by at least one processor, first data indicative of whether dimensions of an object are within predetermined ranges.
- the first data may be obtained for example as set out in relation to block 102 above.
- the obtained data described in block 102 above may comprise an indication of whether each of a plurality of dimensions is within a predetermined range (which may be a predetermined range for that dimension).
- the predetermined range may be a tolerance range specified by the designer of the object to be generated, or input by a user.
- the first data may comprise a binary indication of whether the dimension is within the range, for example a value of '1' may be used to indicate the dimension is outside of the range, and a value of '0' may be used to indicate the dimension is inside the range.
- the first data may comprise both measurements and the predetermined ranges, and a comparison of the measurement to the upper and lower thresholds of the range may be performed using the first data to determine whether the measurement is within the range.
- obtaining the first data comprises measuring the dimensions and comparing the measured dimensions to the predetermined ranges. In other examples such calculations may be performed prior to receipt of the first data.
- data indicative of variations from intended dimensions in an object generated in additive manufacturing is obtained which comprises data indicative of variations from intended dimensions in a set of objects generated in a single additive manufacturing operation (or a plurality of operations in which the same compensation model is used).
- Object generation operations often comprise generating a plurality of objects in a single operation.
- repeated batches of a given set of objects may be generated in successive build operations.
- data indicative of variations of intended dimensions is obtained for a first batch of a set of objects that were generated in a single first additive manufacturing operation, and the geometrical compensation which is determined by the method is to be applied to a subsequent batch of the same set of objects (i.e. instances of the same objects which are to be generated together in a subsequent additive manufacturing operation).
- the objects may for example have the same physical arrangement within the fabrication chamber for each batch/additive manufacturing operation. As this reduces the physical variables in operation during object deformation (for example, the mutual heat exchange between objects will be substantially consistent), this can lead to determination of accurate compensation values which may be tailored to a particular batch of objects which is to be generated repeatedly.
- the method comprises, in block 204, obtaining, by at least one processor second data indicative of differences between actual dimensions of the object and intended dimensions of the object.
- the second data may be obtained for example as set out in relation to block 102 above and/or in some examples, block 102 may comprise obtaining the second data.
- the second data may comprise data describing the difference between measured values of dimensions and nominal (i.e. intended, or target) values of dimensions.
- the second data may comprise the actual measurements, m i , of dimensions and the target, or nominal n i , values of the same dimensions.
- the data may comprise the difference between the actual measurements and the nominal values (n i - m i ), for each dimension.
- the second data comprises a measure of the spread of measurements of a dimension, for example a standard deviation.
- the standard deviation may be determined from the actual measurements. Therefore, in some examples, the method may comprise, for each of a plurality of instances of particular object which have been generated in the same location within a fabrication chamber in a number of build operations (i.e. an object in a repeated ‘batch'), wherein the same compensation model/conditions may have been used in each of the build operations, obtaining the standard deviations in the measurement values of a particular dimension of the object, i.e. measurements a dimension (e.g. a height or a width) in the same location on each of the plurality of instances.
- a dimension e.g. a height or a width
- obtaining the second data comprises measuring the dimensions and comparing the measured dimensions to the intended dimensions to obtain the second data. For example, techniques described in relation to block 102 may be used. In other examples such calculations maybe performed prior to receipt of the second data.
- the method comprises obtaining the first data and the second data, whereas in other examples the method comprises obtaining one of the first data or the second data.
- the obtained data comprises at least one of the first data and the second data.
- the weighting factors are determined automatically by the method. In other examples, described below, the weighting factors may be based, at least in part, on an input by a user.
- the method comprises, in block 206, determining a ratio of the standard deviation of measurements of the dimensions to predetermined tolerance ranges.
- the tolerance range, t is a difference between an upper tolerance threshold and a lower tolerance threshold.
- the ratio may be written as ( t / ⁇ ), wherein ⁇ is the standard deviation. Both the tolerance and the standard deviation may be associated with that dimension, and may be different for different dimensions on the same object and/or on different objects.
- the method comprises, in block 208, comparing the ratio to a threshold.
- the threshold is equal to 6, but in other examples it may be any appropriate value.
- the threshold of 6 may be used because this results in a tolerance range of 6 ⁇ when the ratio is equal to the threshold.
- the interval from -3 ⁇ to +3 ⁇ i.e. a range of 6 ⁇
- a tolerance range of 6 ⁇ therefore includes almost of all of a population and is often used in industry.
- the value may be predetermined (e.g. based on the type of material used) or controllable by a user.
- the method continues to block 210 which comprises determining a weighting factor for each dimension, by assigning higher weighting factors to dimensions with a higher ratio of standard deviation of measurements of the dimension to predetermined tolerance ranges.
- the weighting factor assigned may be proportional to the ratio of tolerance range to standard deviation.
- the method proceeds to block 212, after block 208, which comprises assigning a constant weighting factor to the dimensions.
- the constant weighting factor assigned is 1, but in other examples may take another value.
- the values the weighting factor takes in this example can be expressed according to the formulas:
- the method comprises, in block 214, evaluating a function to provide an indication of a fitness of an applied geometrical compensation (or compensation model), wherein the function depends on the weighting factors and the obtained data.
- the evaluated geometrical compensation is that used in generating the measured objects.
- the indication of fitness provides a measure of how successful the geometrical compensation is in compensating for distortions in the object. In particular, it takes into consideration the weighting factors, such that a geometrical compensation is considered to have a greater fitness when the dimensions with higher weighting factors are more accurate i.e. within tolerance ranges or have a smaller standard deviation.
- i is an index of a dimension
- m i is the measured value of dimension i
- w i is the weighting factor of the dimension i
- n i is the intended value of the dimension i
- out(m i ) is a function which outputs a greater value when m i is outside of a predetermined range relative to when m i is inside of the predetermined range (for example, the first data mentioned above in relation to block 202).
- the function f will output a larger value when there is a larger number of measurements which are outside of their predetermined range and will output a larger value when the measurements, m i , vary more from their nominal values, nr. Furthermore, the function f will output a larger value when the measurements corresponding to dimensions with larger weighting factors vary more from nominals and when they are outside their tolerance ranges, compared with measurements of dimensions with lower weighting factors. Therefore, the function f provides a measure of how accurate the measured dimensions are while considering the weighting factors, such that a lower value of the output of the function f means the measured objects are more dimensionally accurate.
- the function out(m i ) outputs a larger number when the measurement,m i , is outside of its tolerance range, for example it may output integer values such as 1 when the measurement is outside of the tolerance range, and output a value such as
- the output of the function out(m i ) may therefore be orders of magnitude greater than the value of the second term in the equation, ⁇ i
- 2 which can have values of 10 2 to 10 6 .
- the first data described in relation to block 202 may in some examples comprise the output of the function out(m i ) , or may provide data from which out(m i ) may be determined.
- the method comprises, in block 216, minimising the function.
- the method may comprise performing multiple object generation operations in which geometrical compensation values are applied to object model data.
- the same set of objects may be generated in the same arrangement in each of the object generation operations.
- the generated objects may be measured, and the resulting measurements may be input to the function f to obtain a measure of fitness of geometrical compensation values.
- Minimising the function may identify the geometrical compensation values which result in the lowest output of the function f which may in turn identify compensation values which perform better than other tested values.
- simulations of an object generation operation may be performed, rather than performing object generation operations to determine the geometrical compensation values which result in a lower output from function f.
- the first term in the function f may be orders of magnitude greater than the second term. Therefore, in these examples minimising the function preferentially minimises the function out(m i ) . This results in prioritising dimensions being within their specified tolerance ranges of errors in dimensions relative to their nominal values.
- the method comprises, in block 218, determining at least one compensation value to compensate for variations from intended dimensions to be applied to object model data representing the set of objects.
- the compensation value may be a geometrical compensation, such as a scaling or offset described previously.
- the compensation factor is determined based on both the weighting factors and data, by selecting the compensation factor which result in a minimised function f.
- a plurality of object generation operations are performed to obtain the data to input to the function f , or example in a characterisation procedure.
- a generic model may be used to provide geometrical compensations for a first additive manufacturing operation.
- Such a model may have been derived for a class or type of additive manufacturing apparatus and may not be tailored to a given apparatus.
- a 'specific' compensation may be derived. For example, this may take the form of a scaling factor and/or offset value to 'correct' the values provided by the generic model. In some examples, this may be determined using regression analysis to identify the scaling and offset corrections which would minimise the difference between intended and measured dimensions for the set of objects as whole.
- the correction may be a single correction for the model as a whole, for example in the form of six values (an x, y and z scaling correction and an x, y and z offset correction), which are applied to all values indicated by the generic model.
- location specific correction(s) may be derived.
- a further build operation may then be carried out, using the generic model corrected by the correction values, and the process may be iterated, with new correction values being derived.
- the method of Figure 2 allows an assessment of a given compensation model which takes into account the weighting of the dimensions. This may allow two corrections to be compared, or a corrected model to be compared to the generic model, to determine objectively which model performs better for the intended purposes of a user.
- the compensation model which differs may be another aspect of the additive manufacturing process.
- a more insulated fabrication chamber may be compared to a less insulated fabrication chamber by measuring objects generated in both.
- climate control may be carried out, or the formulation of print agents may be compared to determine if there is an objective improvement or degradation in the generated objects.
- the output of the function f may also provide a measure of fitness of parameters other than the geometrical compensation values used.
- the output of a function f associated with a better calibrated additive manufacturing apparatus may be lower than the output of a function f associated with a less well calibrated additive manufacturing apparatus.
- measurements of objects generated by an additive manufacturing apparatus may be measured after each object generation operation, or at intervals between a number of object generation operations. These may rely on different compensation models, or vary in some other way. These measurements may be input to the function f.
- Geometrical compensation values may be varied iteratively over each object generation operation to improve accuracy of the generated objects. For example, if a scaling applied in the x-direction is increased between a first and second object generation operation, and this increase results in a reduction in the output of function f, then in a subsequent object generation operation the scaling in the x-direction may be further increased. If this results in a further improvement in the output of the function f, then the scaling in the x-direction may be increased for a later object generation operation, whereas if the output of the function f indicates dimensional accuracy has decreased, then the previous scaling in the x-direction may be used. In this way, the geometrical compensations can be improved as the additive manufacturing apparatus generates more objects.
- the method comprises, in block 220 applying the determined geometrical compensation to object model data representing object(s) to be generated. This results in modified object model data, which when used to generate an object, generates an object with improved dimensional accuracy, in particular for the dimensions which have higher weighting factors.
- the method comprises, in block 222, generating the object from the object model data after the geometrical compensation has been applied to the object model data. Therefore, the modified object model is used to generate the object.
- generating the objects may comprise forming a layer of build material, applying print agent (s) , for example through use of ‘inkjet’ liquid distribution technologies in locations specified in modified object model data for an object model slice corresponding to that layer using at least one print agent applicator, and applying energy, for example heat, to the layer.
- print agent for example through use of ‘inkjet’ liquid distribution technologies in locations specified in modified object model data for an object model slice corresponding to that layer using at least one print agent applicator, and applying energy, for example heat, to the layer.
- Some techniques allow for accurate placement of print agent on a build material, for example by using printheads operated according to inkjet principles of two-dimensional printing to apply print agents, which in some examples may be controlled to apply print agents with a resolution of around 600dpi, or 1200dpi.
- a further layer of build material may then be formed, and the process repeated, for example with the object model data for the next slice.
- the weighting factors are controlled automatically. However, in some examples, the user may control the weighting factors assigned to the dimensions.
- a user may set the values of the weighting factors by selecting numerical values in order to prioritise the dimensions.
- a user may select an order of priority of each dimension. For example, they may specify which dimension is prioritised first, which is prioritised second, and so on. The method may then select appropriate values of weighting factors based on the specified order.
- a user may categorise dimensions, for example depending on their relative importance. For example, a user may specify the accuracy of a dimension is of low, normal or high importance.
- the method may then assign values to the weighting factors accordingly, for example if a dimension is of low importance, a weighting factor of 1.0 may be assigned, if a dimension is of normal importance, a weighting factor of 1.5 may be assigned and if a dimension is of high importance then a weighting factor of 2.0 may be assigned. Similarly, if a user wishes to disregard a dimension, a weighting factor 0 may be used.
- a user may wish to prioritise the accuracy of a particular dimension, or group of dimensions, above all others. Obtaining improved dimensional accuracy of such dimensions may be considered mandatory.
- a user may categorise such dimensions as mandatory, and the method may then comprise assigning a weighting factor to those dimensions which is orders of magnitude greater than the weighting factors assigned to other dimensions. For example, dimensions which are categorised as mandatory may be assigned a weighting factor of 10 6 with other dimensions being assigned weighting factors of 10 or less, so that the accuracy of these dimensions will always be improved before other dimensions.
- Figure 3 shows an example of apparatus 300 comprising processing circuitry 302, the processing circuitry 302 comprising, a dimensional accuracy module 304, a weighting module 306 and an evaluation module 308.
- a user of an additive manufacturing apparatus or a measuring apparatus may perform measurements of dimensions of objects, then store the data representing the measurements on a storage resource.
- the storage resource may be local or remote to the apparatus 300. If the data is stored remotely, the data may be obtained via a network.
- the dimensional accuracy module 304 may determine data indicative of dimensional accuracy as described in relation to block 102 of Figure 1 or blocks 202 and 204 of Figure 2.
- the first geometrical compensation model may for example comprise a generic compensation model as described above, or an iteration of the model (a ‘corrected’ model), or a model determined on some other basis.
- the weighting module 306 is to obtain a weighting factor corresponding to each dimension.
- the weighting module 306 may obtain weighting factors as described above, for example as described in relation to block 104 of Figure 1 or blocks 206 to 212 of Figure 2.
- the evaluation module 308 evaluates an aspect of the additive manufacturing process.
- the evaluation module 308 evaluates the first geometrical compensation model based on the data indicative of dimensional accuracy and the weighting factor for each dimension.
- the evaluation module 308 may for example evaluate a function, as described above.
- the apparatus 300 may be used to evaluate each of a plurality of compensation models, and the processing circuitry 300 may be configured to select a compensation model based on the evaluation for use in subsequent additive manufacturing operations (for example, the geometrical compensation model which results in the lowest value of the function described above).
- Figure 4 shows an example of apparatus 400, which comprises processing circuitry 402, which comprises the weighting module 306 and the evaluation module 308 of Figure 3.
- the processing circuitry 402 of apparatus 400 further comprises a dimensional accuracy module 404 comprising a tolerance module 406 and an error module 408.
- the tolerance module 406 is to determine if the measurements are within predetermined ranges.
- the tolerance module 406 may measure, or receive data representing, measurements of the dimensions, and compare the measurements to predetermined tolerance ranges. If a measured value is within a tolerance range the tolerance module 406 may determine that measurement is within the predetermined range, and if the measurement is greater than the upper threshold of the range or lower than the lower threshold of the range, determine that the dimension is outside the predetermined range.
- the error module 408 is to determine the difference between an intended value of the dimension and the measured value of the dimension. As described in relation to the tolerance module 406, the error module 408 may measure, or receive data representing measurements of dimension(s). The error module 408 may then determine the difference between the intended value of the dimension(s) and the measured value by subtracting the measured value from the intended value.
- the evaluation module 308 in this example further determines geometrical compensation(s) based on the determination if measurements are within predetermined ranges, the difference between the intended value and the measured value of the dimensions, and the weighting factor for each dimension.
- determination of the geometrical compensation may comprise identifying the best performing geometrical compensation by evaluating a function indicative of the performance of that geometrical compensation, wherein the identified geometrical compensation is the determined geometrical compensation.
- the determination of the geometrical compensation can be performed according to block 106 of Figure 1 or blocks 214 to 218 of Figure 2.
- the apparatus 400 further comprises an additive manufacturing apparatus 410.
- the additive manufacturing apparatus 410 may further comprise a print instruction module, which in use of the additive manufacturing apparatus determines print instructions for generating the objects from the object model to which geometrical compensation(s) has/have been applied.
- the print instructions may, in use thereof, control the additive manufacturing apparatus 410 to generate each of a plurality of layers of the object. This may for example comprise specifying area coverage(s) for print agents such as fusing agents, colorants, detailing agents and the like.
- object generation parameters are associated with object model sub-volumes (voxels or pixels).
- the print instructions comprise a print agent amount associated with sub-volumes.
- other parameters such as any, or any combination of heating temperatures, build material choices, an intent of the print mode, and the like, may be specified.
- halftoning may be applied to determine where to place fusing agent or the like.
- the additive manufacturing apparatus 410 may, in use thereof, generate an object in a plurality of layers (which may correspond to respective slices of an object model) according to the print instructions. For example, this may comprise generating at least one object in a layer-wise manner by selectively solidifying portions of layers of build material. The selective solidification may in some examples be achieved by selectively applying print agents, for example through use of ‘inkjet’ liquid distribution technologies, and applying energy, for example heat, to the layer.
- the additive manufacturing apparatus 410 may comprise additional components not shown herein, for example any or any combination of a fabrication chamber, a print bed, printhead(s) for distributing print agents, a build material distribution system for providing layers of build material, energy sources such as heat lamps and the like.
- Figure 5 shows a machine readable medium 502 associated with a processor 504.
- the machine readable medium 502 comprises instructions which, when executed by the processor 504, cause the processor 504 to carry out tasks.
- the instructions 506 comprise instructions 508 to cause the processor 504 to obtain measurements of dimensions of an object generated by additive manufacturing. Obtaining the measurements may be performed as described in relation to block 102 of Figure 1 and/or blocks 202 or 204 of Figure 2.
- the instructions 506 further comprise instructions 510 to cause the processor 504 to obtain weighting factors for each dimension describing relative importance of accuracy of each of the dimensions. Obtaining the weighting factors may be performed as described in relation to block 104 of Figure 1 and/or blocks 208 to 212 of Figure 2.
- the instructions 506 further comprise instructions 510 to cause the processor 512 to evaluate a function to provide an indication of fitness of a geometrical compensation applied to object model data representing the object prior to generating the object, wherein inputs of the function comprise the measurements of the dimensions, an indication of intended values for the dimensions, and the weighting factors for each dimension. Evaluating the function may be performed as described in relation to blocks 214 to 218 of Figure 2.
- the instructions 506 further comprise instructions to cause the processor 512 to determine a geometrical compensation value to apply to object model data based on the indication of fitness provided by evaluation of the function. For example, a geometrical compensation value or model which is evaluated positively by the function may be used in a subsequent object model modification.
- the instruction 506 further comprise instructions to apply the geometrical compensation value to the object model data representing an object to be generated in additive manufacturing. The geometrical compensation factor may be determined and applied according to the methods described in relation to Figure 1 and/or Figure 2.
- the instruction 506 further comprise instructions to generate object generation instructions, wherein the object generation instructions compromise instructions which when executed by an additive manufacturing apparatus cause the additive manufacturing apparatus to generate an object based on the determined geometrical compensation factor.
- the instructions 506 may further comprise instructions to execute the object generation instructions by controlling an additive manufacturing apparatus.
- Figure 6 shows a machine readable medium 602 associated with a processor 504.
- the machine readable medium 602 comprises instructions which, when executed by the processor 504, cause the processor 504 to carry out instructions 604.
- the instructions 604 comprise instructions 508 and instruction 510 as described in relation to Figure 5.
- the instructions 604 further comprise instructions 606 to evaluate a function to provide an indication of fitness of a geometrical compensation applied to object model data representing the object prior to generating the object, wherein inputs of the function comprise the measurements of the dimensions, an indication of intended values for the dimensions, and the weighting factors for each dimension, wherein the indication of intended values comprises predetermined tolerance ranges for the dimensions and/or nominal values of the dimensions. Therefore, the instructions 606 correspond to instructions 512, wherein the indication of intended values for dimensions comprises predetermined tolerance ranges for the dimensions and/or nominal values for the dimensions. [00100] In some examples, the machine-readable medium 502, 602 of
- Figures 5 or 6, or another machine-readable medium may be provided with instructions to cause a processor 504 to carry out any of the blocks of Figures 1 or 2.
- the machine-readable medium 502, 602 of Figures 5 or 6, or another machine-readable medium may comprise instructions to provide the measurement module 304, the dimensional accuracy module 306, 404, the weighting module 306 and/or the evaluation module 308.
- Examples in the present disclosure can be provided as methods, systems or machine-readable instructions, such as any combination of software, hardware, firmware or the like.
- Such machine-readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM. optical storage, etc.) having computer readable program codes therein or thereon.
- the machine-readable instructions may. for example, be executed by a general-purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams.
- a processor or processing apparatus may execute the machine-readable instructions.
- functional modules of the apparatus for example, any of the dimensional accuracy module 304, weighting module 306, evaluation module 308, dimensional accuracy module 404, tolerance module 406 and/or error module 408 may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry.
- the term ‘processor ⁇ is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc.
- Such machine-readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
- Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices realize functions specified by block(s) in the flow charts and/or block diagrams.
- teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Materials Engineering (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
Abstract
In an example, a method includes obtaining, by at least one processor, data indicative of variations from intended dimensions in an object generated in additive manufacturing. In some examples, the method further includes assigning, by at least one processor, a weighting factor to each of a plurality of dimensions of the object. The method may include evaluating, by at least one processor, a dimensional accuracy of the object using a function, wherein the function depends on the weighting factors and the obtained data.
Description
EVALUATING DIMENSIONAL ACCURACY BASED ON WEIGHTING FACTORS
BACKGROUND
[0001] Additive manufacturing techniques may generate a three-dimensional object through the solidification of a build material, for example on a layer-by-layer basis. In examples of such techniques, build material may be supplied in a layer-wise manner and the solidification method may include heating the layers of build material to cause melting in selected regions. In other techniques, chemical solidification methods may be used.
BRIEF DESCRIPTION OF DRAWINGS
[0002] Non-limiting examples will now be described with reference to the accompanying drawings, in which:
[0003] Figure 1 is a flowchart of an example method of determining geometrical compensations to be applied to models of objects to be generated in additive manufacturing;
[0004] Figure 2 is a flowchart of another example method of determining geometrical compensations to be applied to models of objects to be generated in additive manufacturing;
[0005] Figure 3 is a simplified schematic drawing of an example apparatus;
[0006] Figure 4 is a simplified schematic drawing of an example apparatus for additive manufacturing; and
[0007] Figure 5 and Figure 6 are simplified schematic drawings of an example machine readable medium associated with a processor.
DETAILED DESCRIPTION
[0008] Additive manufacturing techniques may generate a three-dimensional object through the solidification of a build material. In some examples, the build material is a powder-like granular material, which may for example be a plastic, ceramic or metal powder and the properties of generated objects may depend on the type of build material and the type of solidification mechanism used. In some examples the powder may be formed from, or may include, short fibres that may, for example, have been cut into short lengths from long strands or threads of material. Build material may be deposited, for example on a print bed and processed layer by layer, for example within a fabrication chamber. According to one example, a suitable build material may be PA12 build material commercially referred to as V1R10A "HP PA12" available from HP Inc.
[0009] In some examples, selective solidification is achieved through directional application of energy, for example using a laser or electron beam which results in solidification of build material where the directional energy is applied. In other examples, at least one print agent may be selectively applied to the build material and may be liquid when applied. For example, a fusing agent (also termed a ‘coalescence agent' or ‘coalescing agent') may be selectively distributed onto portions of a layer of build material in a pattern derived from data representing a slice of a three-dimensional object to be generated (which may for example be determined from structural design data). The fusing agent may have a composition which absorbs energy such that, when energy (for example, heat) is applied to the layer, the build material to which it has been applied heats up, coalesces and solidifies, upon cooling, to form a slice of the three-dimensional object in accordance with the pattern. In other examples, coalescence may be achieved in some other manner.
[0010] According to one example, a suitable fusing agent may be an ink-type formulation comprising carbon black, such as, for example, the fusing agent formulation commercially referred to as V1Q60A “HP fusing agent" available from HP Inc. Such a fusing agent may comprise any or any combination of an infra-red light absorber, a near infra-red light absorber, a visible light absorber and a UV light absorber. Examples of fusing agents comprising visible light absorption enhancers are dye based colored ink and pigment based colored ink, such as inks commercially referred to as CE039A and CE042A available from HP Inc.
[0011] In addition to a fusing agent, in some examples, a print agent may comprise a coalescence modifier agent, which acts to modify the effects of a fusing agent for example by reducing or increasing coalescence or to assist in producing a particular finish or appearance of an object, and such agents may therefore be termed detailing agents. In some examples, detailing agent may be used near and outside edge surfaces of an object being printed to reduce coalescence. According to one example, a suitable detailing agent may be a formulation commercially referred to as V1Q61A “HP detailing agent" available from HP Inc. A coloring agent, for example comprising a dye or colorant, may in some examples be used as a fusing agent or a coalescence modifier agent, and/or as a print agent to provide a particular color for the object.
[0012] As noted above, additive manufacturing systems may generate objects based on structural design data. This may involve a designer designing a three- dimensional model of an object to be generated, for example using a computer aided design (CAD) application. The model may define the solid portions of the object. To generate a three-dimensional object from the model using an additive manufacturing system, the model data may comprise, or can be processed to derive, slices or parallel planes of the model. Each slice may define a portion of a respective layer of build material that is to be solidified or caused to coalesce by the additive manufacturing system.
[0013] During manufacturing of an object by additive manufacturing, particularly where heat may be applied to the object, deformations may occur resulting in an object being generated which does not have the expected dimensions. The particular deformations may depend on any or any combination of factors such as the build material used, the type of additive manufacturing, the location of the object within the fabrication chamber of the additive manufacturing apparatus, object volume and the like.
[0014] For example, it may be the case that, where an object is generated in a process which includes heat, additional build material may adhere to the object on generation. In one example, fusing agent may be associated with a region of the layer which is intended to fuse. However, when energy is supplied, build material of neighbouring regions may become heated and fuse to the outside of the object (in some examples, being fully or partially melted, or adhering to melted build material as powder). Therefore, a dimension of an object may be larger than the region (s) to which fusing agent is applied. In order to compensate for this effect, i.e. where it is anticipated that an
object may tend to ‘grow’ during manufacture, the object volume as described in object model data may be reduced.
[0015] In other examples, objects may be smaller following object generation than is specified in object model data. For example, some build materials used to generate objects may shrink on cooling. Therefore, an object volume in object model data may be increased to compensate for the anticipated reduction in volume.
[0016] In some examples, the particular deformations may depend on the object's location within the fabrication chamber of the additive manufacturing apparatus. This may be because the thermal characteristics vary throughout the fabrication chamber, for example there may be small differences in temperature in different locations. In some examples, objects which are near the bottom of the chamber may be maintained at a higher temperature for a longer period than those located near the top of the fabrication chamber because objects generated near the bottom of the chamber will be generated near the start of the fabrication process, whereas those near the top will be generated later in the process. This may lead to a difference in cooling rates, which may impact deformations. Other differences may exist, for example due to inhomogeneities in temperature, heating or cooling, and/or heating or cooling rates, due to the location of heating or cooling elements and/or due to proximity to walls of the fabrication chamber which may affect the temperature and/or cooling rate of build material.
[0017] A particular object may be subject to mechanisms which result in growth and/or shrinkage, and the appropriate transformation to apply may be influenced by the different degrees to which an object may be affected by such processes.
[0018] Such compensations may be applied using geometrical transformation(s) which may include scaling and/or offsets. For example, a geometrical transformation may comprise at least one scaling factor and/or at least one offset value, and in some examples associate a scaling factor and/or offset value with at least one of three orthogonal axes (e.g. x, y and z, wherein the z-direction is taken herein to be the direction perpendicular to layers of deposited build material and x- and y-directions are in the plane of the deposited layer(s) .
[0019] A scaling factor may be used to multiply object dimensions in the direction of at least one axis by a value, which may be greater than 1 in order to increase the dimension (s) and less than 1 to reduce the dimension(s) , or equal to 1 to have no effect.
The scaling factor may be applied to dimensions of an object model, for example being applied to a mesh model of the object.
[0020] An offset may specify, for example by a specified distance or a number of defined voxels (i.e. 3D pixels), an amount to add or remove from a surface of the object (or a perimeter within a layer). For example, an offset distance in an axis may be specified and the object may be eroded or may be dilated (i.e., inflated or enlarged) by this distance, for example by moving the vertices of a mesh in the case that the object model is a mesh model, or adding/subtracting a number of voxels in a voxelised model although other methods of providing an offset may be used in other examples.
[0021] In some examples, a geometrical compensation may be applied to the whole fabrication chamber. For example, the geometrical compensation may comprise a geometrical compensation for each of the x-, y- and z-directions. In some examples the geometrical compensation comprises a scaling and an offset for each of the x-, y-. and z- directions, and so is defined by six values. As noted above, the deformations, and therefore the appropriate compensation, may vary with location within the fabrication chamber. Therefore, there may be a plurality of geometrical compensation value sets, each relating to a different location, and/or a value set may be selected or derived based on the intended location of object generation.
[0022] In summary then, to compensate for anticipated deformations, a model describing the object to be generated, or a model describing the whole contents of a fabrication chamber, may be modified before commencing the build process. The modifications may comprise a scaling, whereby the object is ‘stretched’ or ‘compressed’ along an axis or axes and/or a surface offset operation which comprises applying either an erosion or dilation operation to a surface of the object. The methods set out below are described with reference to scaling and offsets, although these methods may be combined with any other modification operation(s) to provide a transformed object model.
[0023] Figure 1 is an example of a method, which may comprise a computer implemented method for determining a geometrical compensation to be applied to a model of a build volume.
[0024] The method comprises, in block 102 obtaining, by at least one processor, data indicative of variations from intended dimensions in an object generated in additive manufacturing. In some examples, as set out in greater detail below, the object may
have been generated using an object model to which a geometrical compensation has been applied.
[0025] The obtained data may comprise measurements of dimensions of an object, or objects, generated in additive manufacturing. For example, the dimensions may be a height, a width, and/or a depth of an object. In some examples the measurements may include distances between features of the object, for example between features such as holes, comers, edges or faces. The measurements may be obtained by directly measuring the objects, by a user manually inputting measurements which were performed manually, performed automatically (for example using an optical scanning apparatus) and/or may be obtained from storage or transmitted from a remote location having been previously obtained by direct measurement.
[0026] When generating objects in additive manufacturing, each dimension may have a target value, but in practice the generated object may comprise dimensions which vary from the target value. The data indicative of the variation from intended dimensions may also comprise an indication of the intended target value of that dimension. An object may have dimensions which should be within a particular range of values, or it may be intended that there is a particular standard deviation for at least some dimensions when multiple similar objects are generated. The data may further comprise an indication of whether the actual dimensions of generated objects is sufficiently close to the dimensions. For example, the data may comprise an indication of whether the measurement is within or outside a tolerance range.
[0027] In some examples, some object dimensions may be associated with a lower tolerance and/or higher accuracy specification than other object dimensions. These may for example be dimensions which are intended to fit closely with another object, or which are related to some physical function such as an aerodynamic function which is associated with a precise object shape, an electrical or resilient behaviour which may be associated with a precise shape and/or thickness of solidified material, or the like.
[0028] In some examples, some dimensions may respond well (for example, consistently and accurately) to compensation, whereas other dimensions do not. This may be determined with reference to the standard deviation of measurements associated with the dimensions. In such examples, those dimensions which are likely to benefit most from compensation (i.e. those dimensions which respond well to compensation) may be identified.
[0029] The method comprises, in block 104, assigning, by at least one processor, a weighting factor to each of a plurality of dimensions of the object. In some examples, the weighting factors are values which define relative importance of dimensional accuracy of the dimensions. For example, the dimensions which have a higher relative importance and/or a higher intended accuracy may be assigned a larger weighting factor and those with lower importance assigned a lower weighting factor.
[0030] For example for an object to perform a particular function, such as interfacing with another object in a ‘plug and socket’ arrangement, dimensions which allow the plug to fit securely within the socket may be given a higher weighting factor than dimensions of the plug or socket which are not relevant for their fitting securely together. The weighting factors can therefore be used to prioritise the accuracy of dimensions, depending on the object to be generated.
[0031] In some examples, the relative importance may be associated with a smaller tolerance specification for an object. In some examples, the weighting factors may be assigned by a user of the system, who may for example lag’ dimensions as having a relative importance. In some examples, dimensions having a high accuracy specification may be identified automatically. For example, an algorithm may have an understanding of how one object is to interface with another, and may be able to identify dimensions which are involved in the interface, or may have an understanding of the tolerance of a shape or dimension to allow the object to perform some other function.
[0032] As noted above, there may be some dimensions which respond well to compensation factors, and (absent any other factors) these dimensions may be given a higher weighting than dimensions which do not.
[0033] In some examples, there may be a continuous scale of weighting factors, or there may be weighting tiers, with object dimensions for example being associated with a ‘high', ‘medium’ and ‘low’ weighting factor (where ‘low’ may be any dimension that has not been tagged as ‘medium’ or 'high'). Of course, there may be more defined tiers in other examples.
[0034] The method comprises, in block 106, evaluating, by at least one processor, a dimensional accuracy of the object using a function, wherein the function depends on the weighting factors and the obtained data. The function may for example be a function which outputs a value. The value may increase as the dimensional accuracy of measured dimensions decreases. For a given dimensional inaccuracy,
dimensions which have a higher weighting may increase the value of the function by a greater amount than dimensions with a lower rating. In some examples, the function may be, or comprise, a function which evaluates a number of dimensions which are outside a predetermined tolerance range associated with that dimension in a weighted manner such that dimensions outside the tolerance range contribute to the evaluation in proportion to their weighting.
[0035] In some examples, evaluating the dimensional accuracy may also evaluate the fitness of a geometrical compensation used in generating the object, and may allow a ‘best fit' geometrical compensation to be determined, while taking account of the relative weightings of the dimensions.
[0036] The geometrical compensation may comprise scaling and/or offset operations as described above. For example, the determined geometrical compensation may comprise a scaling and/or an offset value for each of three orthogonal directions (x-, y-, and z-directions).
[0037] In some examples, the method may comprise identifying a geometrical compensation, which when applied to object model data representing objects to be generated can improve the accuracy of the dimensions according to their weighting factors, because they are based on both the obtained data and the weighting factors. For example, determining the geometrical compensation may comprise selecting a geometrical compensation that would reduce the variation of measured dimensions from their intended dimensions to a greater extent for dimensions for more important dimensions as defined by their weighting factors. The weighting factors may be selected for example based on an intended use of the object (for example, as a plug or socket component, or to impart precise physical characteristics) and/or to prioritise improving the accuracy of dimensions which can more readily be improved by geometrical compensation e.g. errors which follow a linear repeatable pattern, rather than errors which are not repeatable. As described in more detail in relation to Figure 2, numerical values may be assigned as weighting factors, either directly or by categorising the dimensions, for example in categories such as “high", “medium" and "low" importance.
[0038] Figure 2 is an example of a method, which may comprise a computer implemented method for determining a geometrical compensation to be applied to a model of a build volume.
[0039] The method comprises, in block 202, obtaining, by at least one processor, first data indicative of whether dimensions of an object are within predetermined ranges. The first data may be obtained for example as set out in relation to block 102 above. In other words, in this example, the obtained data described in block 102 above may comprise an indication of whether each of a plurality of dimensions is within a predetermined range (which may be a predetermined range for that dimension). The predetermined range may be a tolerance range specified by the designer of the object to be generated, or input by a user. The first data may comprise a binary indication of whether the dimension is within the range, for example a value of '1' may be used to indicate the dimension is outside of the range, and a value of '0' may be used to indicate the dimension is inside the range. In other examples the first data may comprise both measurements and the predetermined ranges, and a comparison of the measurement to the upper and lower thresholds of the range may be performed using the first data to determine whether the measurement is within the range.
[0040] In some examples obtaining the first data comprises measuring the dimensions and comparing the measured dimensions to the predetermined ranges. In other examples such calculations may be performed prior to receipt of the first data.
[0041] In this example, data indicative of variations from intended dimensions in an object generated in additive manufacturing is obtained which comprises data indicative of variations from intended dimensions in a set of objects generated in a single additive manufacturing operation (or a plurality of operations in which the same compensation model is used). Object generation operations often comprise generating a plurality of objects in a single operation. Moreover, repeated batches of a given set of objects may be generated in successive build operations. In this example data indicative of variations of intended dimensions is obtained for a first batch of a set of objects that were generated in a single first additive manufacturing operation, and the geometrical compensation which is determined by the method is to be applied to a subsequent batch of the same set of objects (i.e. instances of the same objects which are to be generated together in a subsequent additive manufacturing operation). The objects may for example have the same physical arrangement within the fabrication chamber for each batch/additive manufacturing operation. As this reduces the physical variables in operation during object deformation (for example, the mutual heat exchange between objects will be substantially consistent), this can lead to determination of accurate
compensation values which may be tailored to a particular batch of objects which is to be generated repeatedly.
[0042] The method comprises, in block 204, obtaining, by at least one processor second data indicative of differences between actual dimensions of the object and intended dimensions of the object. The second data may be obtained for example as set out in relation to block 102 above and/or in some examples, block 102 may comprise obtaining the second data. The second data may comprise data describing the difference between measured values of dimensions and nominal (i.e. intended, or target) values of dimensions. For example, the second data may comprise the actual measurements, mi, of dimensions and the target, or nominal ni, values of the same dimensions. In other examples the data may comprise the difference between the actual measurements and the nominal values (ni - mi), for each dimension. In some examples the second data comprises a measure of the spread of measurements of a dimension, for example a standard deviation. In other examples the standard deviation may be determined from the actual measurements. Therefore, in some examples, the method may comprise, for each of a plurality of instances of particular object which have been generated in the same location within a fabrication chamber in a number of build operations (i.e. an object in a repeated ‘batch'), wherein the same compensation model/conditions may have been used in each of the build operations, obtaining the standard deviations in the measurement values of a particular dimension of the object, i.e. measurements a dimension (e.g. a height or a width) in the same location on each of the plurality of instances.
[0043] In some examples, obtaining the second data comprises measuring the dimensions and comparing the measured dimensions to the intended dimensions to obtain the second data. For example, techniques described in relation to block 102 may be used. In other examples such calculations maybe performed prior to receipt of the second data.
[0044] In this example, the method comprises obtaining the first data and the second data, whereas in other examples the method comprises obtaining one of the first data or the second data. In other words, the obtained data comprises at least one of the first data and the second data.
[0045] In this example, the weighting factors are determined automatically by the method. In other examples, described below, the weighting factors may be based, at least in part, on an input by a user. In this example, the method comprises, in block 206,
determining a ratio of the standard deviation of measurements of the dimensions to predetermined tolerance ranges. The tolerance range, t, is a difference between an upper tolerance threshold and a lower tolerance threshold. The ratio may be written as ( t / σ), wherein σ is the standard deviation. Both the tolerance and the standard deviation may be associated with that dimension, and may be different for different dimensions on the same object and/or on different objects.
[0046] The method comprises, in block 208, comparing the ratio to a threshold. In this example the threshold is equal to 6, but in other examples it may be any appropriate value. For distributions which follow a Gaussian distribution the threshold of 6 may be used because this results in a tolerance range of 6σ when the ratio is equal to the threshold. For a Gaussian distribution the interval from -3σ to +3σ (i.e. a range of 6σ) about the mean includes 99.73% of the population. A tolerance range of 6σ therefore includes almost of all of a population and is often used in industry.
[0047] In other examples, the value may be predetermined (e.g. based on the type of material used) or controllable by a user.
[0048] When the ratio is less than the threshold, the method continues to block 210 which comprises determining a weighting factor for each dimension, by assigning higher weighting factors to dimensions with a higher ratio of standard deviation of measurements of the dimension to predetermined tolerance ranges. For example, the weighting factor assigned may be proportional to the ratio of tolerance range to standard deviation. In an example the value of the weighting factor, wi, assigned when the ratio is less than the threshold is wi = t / (6 σ).
[0049] When the ratio is greater than the threshold, the method proceeds to block 212, after block 208, which comprises assigning a constant weighting factor to the dimensions. In this example the constant weighting factor assigned is 1, but in other examples may take another value. The values the weighting factor takes in this example can be expressed according to the formulas:
[0050] wi = t / (6 σ) for t / (6 σ) < 1
[0051] wi = 1 for t / (6 σ) ≥ 1
[0052] Therefore, for dimensions with a low standard deviation relative to their tolerance range, a higher weighting factor will be assigned, and so their dimensional accuracy will be prioritised when assigning geometrical compensation. Less weighting is given to dimensions which have higher standard deviations relative to their tolerance
ranges. For some objects, these dimensions correspond to dimensions which do not follow a repeatable, linear pattern, and so cannot be readily corrected by application of geometrical compensation such as scaling or offset. Therefore, if the method were to attempt to correct these errors, it is likely it would not be successful. In these examples, it is preferable for the method to prioritise improving dimensions whose accuracy can be improved by such geometrical compensations. However, as the tolerance is taken in to account in determining whether the weighting should vary from 1 , dimensions associated with smaller tolerances (or higher specified accuracy) may be more likely to be associated with a weighting determined by wi = t / (6 σ).
[0053] The method comprises, in block 214, evaluating a function to provide an indication of a fitness of an applied geometrical compensation (or compensation model), wherein the function depends on the weighting factors and the obtained data. The evaluated geometrical compensation is that used in generating the measured objects. The indication of fitness provides a measure of how successful the geometrical compensation is in compensating for distortions in the object. In particular, it takes into consideration the weighting factors, such that a geometrical compensation is considered to have a greater fitness when the dimensions with higher weighting factors are more accurate i.e. within tolerance ranges or have a smaller standard deviation.
[0054] In an example the function, f, has the form:
[0056] wherein i is an index of a dimension, mi is the measured value of dimension i, wi is the weighting factor of the dimension i, ni is the intended value of the dimension i, and out(mi) is a function which outputs a greater value when mi is outside of a predetermined range relative to when mi is inside of the predetermined range (for example, the first data mentioned above in relation to block 202).
[0057] Therefore, the function f will output a larger value when there is a larger number of measurements which are outside of their predetermined range and will output a larger value when the measurements, mi, vary more from their nominal values, nr. Furthermore, the function f will output a larger value when the measurements corresponding to dimensions with larger weighting factors vary more from nominals and when they are outside their tolerance ranges, compared with measurements of dimensions with lower weighting factors. Therefore, the function f provides a measure of how accurate the measured dimensions are while considering the weighting factors,
such that a lower value of the output of the function f means the measured objects are more dimensionally accurate.
[0058] The function out(mi) outputs a larger number when the measurement,mi, is outside of its tolerance range, for example it may output integer values such as 1 when the measurement is outside of the tolerance range, and output a value such as
0 when the measurement is inside of the tolerance range. The output of the function out(mi) may therefore be orders of magnitude greater than the value of the second term in the equation, ∑i |wi X (mi - ni) |2, which can have values of 10 2 to 10 6. As noted above, the first data described in relation to block 202 may in some examples comprise the output of the function out(mi) , or may provide data from which out(mi) may be determined.
[0059] The method comprises, in block 216, minimising the function. The method may comprise performing multiple object generation operations in which geometrical compensation values are applied to object model data. As mentioned above, in some examples, the same set of objects may be generated in the same arrangement in each of the object generation operations. The generated objects may be measured, and the resulting measurements may be input to the function f to obtain a measure of fitness of geometrical compensation values. Minimising the function may identify the geometrical compensation values which result in the lowest output of the function f which may in turn identify compensation values which perform better than other tested values. In some examples, simulations of an object generation operation may be performed, rather than performing object generation operations to determine the geometrical compensation values which result in a lower output from function f.
[0060] As described above, the first term in the function f may be orders of magnitude greater than the second term. Therefore, in these examples minimising the function preferentially minimises the function out(mi) . This results in prioritising dimensions being within their specified tolerance ranges of errors in dimensions relative to their nominal values.
[0061] The method comprises, in block 218, determining at least one compensation value to compensate for variations from intended dimensions to be applied to object model data representing the set of objects. The compensation value may be a geometrical compensation, such as a scaling or offset described previously. In
this example the compensation factor is determined based on both the weighting factors and data, by selecting the compensation factor which result in a minimised function f.
[0062] In some examples a plurality of object generation operations are performed to obtain the data to input to the function f , or example in a characterisation procedure.
[0063] For example, a generic model may be used to provide geometrical compensations for a first additive manufacturing operation. Such a model may have been derived for a class or type of additive manufacturing apparatus and may not be tailored to a given apparatus. Once a set of objects has been generated based on object models modified using this generic model (or a plurality of such sets), a 'specific' compensation may be derived. For example, this may take the form of a scaling factor and/or offset value to 'correct' the values provided by the generic model. In some examples, this may be determined using regression analysis to identify the scaling and offset corrections which would minimise the difference between intended and measured dimensions for the set of objects as whole.
[0064] In some examples, while the model may specify different scaling factors/offset values for different object locations, the correction may be a single correction for the model as a whole, for example in the form of six values (an x, y and z scaling correction and an x, y and z offset correction), which are applied to all values indicated by the generic model. In other examples, location specific correction(s) may be derived.
[0065] A further build operation may then be carried out, using the generic model corrected by the correction values, and the process may be iterated, with new correction values being derived.
[0066] While this may lead to improvements of the dimensions as a whole, it may actually operate to optimise the ‘wrong’ dimensions, e.g. those for which accuracy is of less importance. In other cases, it may lead to oscillations in the corrections as dimensions which are difficult to consistently correct may have an undue influence on the correction factor.
[0067] However, the method of Figure 2 allows an assessment of a given compensation model which takes into account the weighting of the dimensions. This may allow two corrections to be compared, or a corrected model to be compared to the
generic model, to determine objectively which model performs better for the intended purposes of a user.
[0068] While a particular method of determining a plurality of compensation models has been described, there may be other methods. For example, competing theoretical thermal models may be used to derive candidate compensation models, and these may be objectively compared by evaluating the function f for objects generated following modification of object models using the different candidate compensation models. In other examples, a ‘random walk’ approach may be used to determine compensation values, and again different values may be compared by evaluating the function f for objects generated following modification of object models using the different compensation values. In other examples, a ‘simulated annealing' or ‘genetic’ approach may be used.
[0069] In other examples, it may not be the compensation model which differs, but may be another aspect of the additive manufacturing process. For example, a more insulated fabrication chamber may be compared to a less insulated fabrication chamber by measuring objects generated in both. In other examples, climate control may be carried out, or the formulation of print agents may be compared to determine if there is an objective improvement or degradation in the generated objects. In other words, the output of the function f may also provide a measure of fitness of parameters other than the geometrical compensation values used. For example, the output of a function f associated with a better calibrated additive manufacturing apparatus may be lower than the output of a function f associated with a less well calibrated additive manufacturing apparatus.
[0070] In summary then, measurements of objects generated by an additive manufacturing apparatus may be measured after each object generation operation, or at intervals between a number of object generation operations. These may rely on different compensation models, or vary in some other way. These measurements may be input to the function f.
[0071] Geometrical compensation values may be varied iteratively over each object generation operation to improve accuracy of the generated objects. For example, if a scaling applied in the x-direction is increased between a first and second object generation operation, and this increase results in a reduction in the output of function f, then in a subsequent object generation operation the scaling in the x-direction may be further increased. If this results in a further improvement in the output of the function f,
then the scaling in the x-direction may be increased for a later object generation operation, whereas if the output of the function f indicates dimensional accuracy has decreased, then the previous scaling in the x-direction may be used. In this way, the geometrical compensations can be improved as the additive manufacturing apparatus generates more objects.
[0072] The method comprises, in block 220 applying the determined geometrical compensation to object model data representing object(s) to be generated. This results in modified object model data, which when used to generate an object, generates an object with improved dimensional accuracy, in particular for the dimensions which have higher weighting factors.
[0073] The method comprises, in block 222, generating the object from the object model data after the geometrical compensation has been applied to the object model data. Therefore, the modified object model is used to generate the object.
[0074] In some examples generating the objects may comprise forming a layer of build material, applying print agent (s) , for example through use of ‘inkjet’ liquid distribution technologies in locations specified in modified object model data for an object model slice corresponding to that layer using at least one print agent applicator, and applying energy, for example heat, to the layer. Some techniques allow for accurate placement of print agent on a build material, for example by using printheads operated according to inkjet principles of two-dimensional printing to apply print agents, which in some examples may be controlled to apply print agents with a resolution of around 600dpi, or 1200dpi. A further layer of build material may then be formed, and the process repeated, for example with the object model data for the next slice.
[0075] In the example of Figure 2, the weighting factors are controlled automatically. However, in some examples, the user may control the weighting factors assigned to the dimensions. In an example, the weighting factors may be initially set to a default value, for example equal to 1 (wi = 1). If all the weighting factors remain at their default value, then all dimensions will be treated equally, and none will be prioritised. If a weighting factor of a first dimension, wi , is set to a different value, for example 2 (w1 = 2), and the other weighting factors remain equal to 1 , then the method will prioritise the dimensional accuracy of the first dimension. As can be seen in the above equation representing the function f, the first dimension will have a greater influence on the output of the function f compared with any other dimension.
[0076] A user may set the values of the weighting factors by selecting numerical values in order to prioritise the dimensions. In some examples, a user may select an order of priority of each dimension. For example, they may specify which dimension is prioritised first, which is prioritised second, and so on. The method may then select appropriate values of weighting factors based on the specified order. In another example a user may categorise dimensions, for example depending on their relative importance. For example, a user may specify the accuracy of a dimension is of low, normal or high importance. The method may then assign values to the weighting factors accordingly, for example if a dimension is of low importance, a weighting factor of 1.0 may be assigned, if a dimension is of normal importance, a weighting factor of 1.5 may be assigned and if a dimension is of high importance then a weighting factor of 2.0 may be assigned. Similarly, if a user wishes to disregard a dimension, a weighting factor 0 may be used.
[0077] In some examples, a user may wish to prioritise the accuracy of a particular dimension, or group of dimensions, above all others. Obtaining improved dimensional accuracy of such dimensions may be considered mandatory. A user may categorise such dimensions as mandatory, and the method may then comprise assigning a weighting factor to those dimensions which is orders of magnitude greater than the weighting factors assigned to other dimensions. For example, dimensions which are categorised as mandatory may be assigned a weighting factor of 106 with other dimensions being assigned weighting factors of 10 or less, so that the accuracy of these dimensions will always be improved before other dimensions.
[0078] Figure 3 shows an example of apparatus 300 comprising processing circuitry 302, the processing circuitry 302 comprising, a dimensional accuracy module 304, a weighting module 306 and an evaluation module 308.
[0079] In use of the apparatus 300, the dimensional accuracy module 304 is to determine data indicative of dimensional accuracy of an object generated in additive manufacturing. In some examples, this may comprise determining data indicative of dimensional accuracy of an object generated in additive manufacturing using a first geometrical compensation model. Determining the data may comprise obtaining data representing measurements of dimensions of an object (or in some examples, a plurality of instances of an object) generated in additive manufacturing. The measurements may be obtained from an optical system or optical measurement system, for example a 3D scanner. In other examples the data representing measurement(s) of dimensions may be received from another entity, for example from a network resource or a storage resource.
For example, a user of an additive manufacturing apparatus or a measuring apparatus may perform measurements of dimensions of objects, then store the data representing the measurements on a storage resource. The storage resource may be local or remote to the apparatus 300. If the data is stored remotely, the data may be obtained via a network. The dimensional accuracy module 304 may determine data indicative of dimensional accuracy as described in relation to block 102 of Figure 1 or blocks 202 and 204 of Figure 2.
[0080] The first geometrical compensation model may for example comprise a generic compensation model as described above, or an iteration of the model (a ‘corrected’ model), or a model determined on some other basis.
[0081] In use of the apparatus 300, the weighting module 306 is to obtain a weighting factor corresponding to each dimension. The weighting module 306 may obtain weighting factors as described above, for example as described in relation to block 104 of Figure 1 or blocks 206 to 212 of Figure 2.
[0082] In use of the apparatus 300, the evaluation module 308 evaluates an aspect of the additive manufacturing process. In an example, the evaluation module 308 evaluates the first geometrical compensation model based on the data indicative of dimensional accuracy and the weighting factor for each dimension. The evaluation module 308 may for example evaluate a function, as described above.
[0083] In some examples, the apparatus 300 may be used to evaluate each of a plurality of compensation models, and the processing circuitry 300 may be configured to select a compensation model based on the evaluation for use in subsequent additive manufacturing operations (for example, the geometrical compensation model which results in the lowest value of the function described above).
[0084] Figure 4 shows an example of apparatus 400, which comprises processing circuitry 402, which comprises the weighting module 306 and the evaluation module 308 of Figure 3. The processing circuitry 402 of apparatus 400 further comprises a dimensional accuracy module 404 comprising a tolerance module 406 and an error module 408.
[0085] In use of the apparatus 400, the tolerance module 406 is to determine if the measurements are within predetermined ranges. The tolerance module 406 may measure, or receive data representing, measurements of the dimensions, and compare the measurements to predetermined tolerance ranges. If a measured value is within a
tolerance range the tolerance module 406 may determine that measurement is within the predetermined range, and if the measurement is greater than the upper threshold of the range or lower than the lower threshold of the range, determine that the dimension is outside the predetermined range.
[0086] In use of the apparatus 400, the error module 408 is to determine the difference between an intended value of the dimension and the measured value of the dimension. As described in relation to the tolerance module 406, the error module 408 may measure, or receive data representing measurements of dimension(s). The error module 408 may then determine the difference between the intended value of the dimension(s) and the measured value by subtracting the measured value from the intended value.
[0087] In addition to the functions described above, the evaluation module 308 in this example further determines geometrical compensation(s) based on the determination if measurements are within predetermined ranges, the difference between the intended value and the measured value of the dimensions, and the weighting factor for each dimension. For example, determination of the geometrical compensation may comprise identifying the best performing geometrical compensation by evaluating a function indicative of the performance of that geometrical compensation, wherein the identified geometrical compensation is the determined geometrical compensation. The determination of the geometrical compensation can be performed according to block 106 of Figure 1 or blocks 214 to 218 of Figure 2.
[0088] In this example, the apparatus 400 further comprises an additive manufacturing apparatus 410.
[0089] The additive manufacturing apparatus 410 may further comprise a print instruction module, which in use of the additive manufacturing apparatus determines print instructions for generating the objects from the object model to which geometrical compensation(s) has/have been applied.
[0090] The print instructions (or object generation instructions) may, in use thereof, control the additive manufacturing apparatus 410 to generate each of a plurality of layers of the object. This may for example comprise specifying area coverage(s) for print agents such as fusing agents, colorants, detailing agents and the like. In some examples, object generation parameters are associated with object model sub-volumes (voxels or pixels). In some examples, the print instructions comprise a print agent
amount associated with sub-volumes. In some examples, other parameters, such as any, or any combination of heating temperatures, build material choices, an intent of the print mode, and the like, may be specified. In some examples, halftoning may be applied to determine where to place fusing agent or the like.
[0091] The additive manufacturing apparatus 410 may, in use thereof, generate an object in a plurality of layers (which may correspond to respective slices of an object model) according to the print instructions. For example, this may comprise generating at least one object in a layer-wise manner by selectively solidifying portions of layers of build material. The selective solidification may in some examples be achieved by selectively applying print agents, for example through use of ‘inkjet’ liquid distribution technologies, and applying energy, for example heat, to the layer. The additive manufacturing apparatus 410 may comprise additional components not shown herein, for example any or any combination of a fabrication chamber, a print bed, printhead(s) for distributing print agents, a build material distribution system for providing layers of build material, energy sources such as heat lamps and the like.
[0092] Figure 5 shows a machine readable medium 502 associated with a processor 504. The machine readable medium 502 comprises instructions which, when executed by the processor 504, cause the processor 504 to carry out tasks.
[0093] In this example, the instructions 506 comprise instructions 508 to cause the processor 504 to obtain measurements of dimensions of an object generated by additive manufacturing. Obtaining the measurements may be performed as described in relation to block 102 of Figure 1 and/or blocks 202 or 204 of Figure 2.
[0094] The instructions 506 further comprise instructions 510 to cause the processor 504 to obtain weighting factors for each dimension describing relative importance of accuracy of each of the dimensions. Obtaining the weighting factors may be performed as described in relation to block 104 of Figure 1 and/or blocks 208 to 212 of Figure 2.
[0095] The instructions 506 further comprise instructions 510 to cause the processor 512 to evaluate a function to provide an indication of fitness of a geometrical compensation applied to object model data representing the object prior to generating the object, wherein inputs of the function comprise the measurements of the dimensions, an indication of intended values for the dimensions, and the weighting factors for each
dimension. Evaluating the function may be performed as described in relation to blocks 214 to 218 of Figure 2.
[0096] In some examples the instructions 506 further comprise instructions to cause the processor 512 to determine a geometrical compensation value to apply to object model data based on the indication of fitness provided by evaluation of the function. For example, a geometrical compensation value or model which is evaluated positively by the function may be used in a subsequent object model modification. In some examples the instruction 506 further comprise instructions to apply the geometrical compensation value to the object model data representing an object to be generated in additive manufacturing. The geometrical compensation factor may be determined and applied according to the methods described in relation to Figure 1 and/or Figure 2.
[0097] In some examples the instruction 506 further comprise instructions to generate object generation instructions, wherein the object generation instructions compromise instructions which when executed by an additive manufacturing apparatus cause the additive manufacturing apparatus to generate an object based on the determined geometrical compensation factor. The instructions 506 may further comprise instructions to execute the object generation instructions by controlling an additive manufacturing apparatus.
[0098] Figure 6 shows a machine readable medium 602 associated with a processor 504. The machine readable medium 602 comprises instructions which, when executed by the processor 504, cause the processor 504 to carry out instructions 604. The instructions 604 comprise instructions 508 and instruction 510 as described in relation to Figure 5.
[0099] The instructions 604 further comprise instructions 606 to evaluate a function to provide an indication of fitness of a geometrical compensation applied to object model data representing the object prior to generating the object, wherein inputs of the function comprise the measurements of the dimensions, an indication of intended values for the dimensions, and the weighting factors for each dimension, wherein the indication of intended values comprises predetermined tolerance ranges for the dimensions and/or nominal values of the dimensions. Therefore, the instructions 606 correspond to instructions 512, wherein the indication of intended values for dimensions comprises predetermined tolerance ranges for the dimensions and/or nominal values for the dimensions.
[00100] In some examples, the machine-readable medium 502, 602 of
Figures 5 or 6, or another machine-readable medium may be provided with instructions to cause a processor 504 to carry out any of the blocks of Figures 1 or 2. In some examples, the machine-readable medium 502, 602 of Figures 5 or 6, or another machine-readable medium may comprise instructions to provide the measurement module 304, the dimensional accuracy module 306, 404, the weighting module 306 and/or the evaluation module 308.
[00101] Examples in the present disclosure can be provided as methods, systems or machine-readable instructions, such as any combination of software, hardware, firmware or the like. Such machine-readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM. optical storage, etc.) having computer readable program codes therein or thereon.
[00102] The present disclosure is described with reference to flow charts and/or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. It shall be understood that each block in the flow charts and/or block diagrams, as well as combinations of the blocks in the flow charts and/or block diagrams can be realized by machine readable instructions.
[00103] The machine-readable instructions may. for example, be executed by a general-purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus may execute the machine-readable instructions. Thus, functional modules of the apparatus (for example, any of the dimensional accuracy module 304, weighting module 306, evaluation module 308, dimensional accuracy module 404, tolerance module 406 and/or error module 408) may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term ‘processor· is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc. The methods and functional modules may all be performed by a single processor or divided amongst several processors.
[00104] Such machine-readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
[00105] Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices realize functions specified by block(s) in the flow charts and/or block diagrams.
[00106] Further, the teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
[00107] While the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the present disclosure. It is intended, therefore, that the method, apparatus and related aspects be limited only by the scope of the following claims and their equivalents. It should be noted that the above-mentioned examples illustrate rather than limit what is described herein, and that those skilled in the art will be able to design many alternative implementations without departing from the scope of the appended claims.
[00108] The word ‘comprising’ does not exclude the presence of elements other than those listed in a claim, "a" or "an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims.
[00109] The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.
Claims
1. A method comprising: obtaining, by at least one processor, data indicative of variations from intended dimensions in an object generated in additive manufacturing; assigning, by at least one processor, a weighting factor to each of a plurality of dimensions of the object; and evaluating, by at least one processor, a dimensional accuracy of the object using a function, wherein the function depends on the weighting factors and the obtained data.
2. A method as claimed in claim 1, wherein the obtained data comprises at least one of: first data indicative of whether dimensions of the object are within predetermined ranges; and second data indicative of differences between actual dimensions of the object and intended dimensions of the object.
3. A method according to claim 1 wherein the data indicative of variations from intended dimensions in an object generated in additive manufacturing comprises data indicative of variations from intended dimensions in at least one set of objects generated in an additive manufacturing operation using a first geometrical compensation model.
4. A method as claimed in claim 1 , wherein the function has the form:
wherein: i is an index of a dimension; mi is the measured value of dimension i; wi is the weighting factor of the dimension i; ni is the intended value of the dimension i; and out(mi) is a function which outputs a greater value when mi is outside of a predetermined range relative to when mi is inside of the predetermined range.
5. A method as claimed in claim 1 further comprising: evaluating the function for each of a plurality of additive manufacturing operations, wherein the additive manufacturing operations are associated with at least two geometrical compensation models; and selecting a geometrical compensation model for a subsequent additive manufacturing operation based on the evaluation.
6. A method as claimed in claim 5, further comprising applying the selected geometrical compensation to object model data representing an object to be generated.
7. A method as claimed in claim 6, further comprising generating the object from the object model data after the geometrical compensation has been applied to the object model data.
8. A method as claimed in claim 5 wherein selecting a geometrical compensation model for a subsequent additive manufacturing operation based on the evaluation comprises selecting the geometrical compensation model which minimises the function.
9. A method as claimed in claim 1 wherein assigning the weighting factors comprises: determining a weighting factor for each dimension, by assigning higher weighting factors to dimensions with a higher ratio of standard deviation of measurements of the dimension to predetermined tolerance ranges.
10. A method as claimed in claim 9 wherein determining the weighting factors by assigning higher weighting factors to dimensions with a higher ratio of standard deviation of measurements to predetermined tolerance ranges is conditional on the ratio being less than a threshold, and when the ratio is greater than the threshold, assigning a constant weighting factor.
11. Apparatus comprising processing circuitry, the processing circuitry comprising:
a dimensional accuracy module to determine data indicative of dimensional accuracy of an object generated in additive manufacturing using a first geometrical compensation model; a weighting module to obtain a weighting factor corresponding to each dimension; an evaluation module to evaluate the first geometrical compensation model based on the data indicative of dimensional accuracy and the weighting factor for each dimension.
12. An apparatus according to claim 11, wherein the dimensional accuracy module comprises: a tolerance module to determine if the measurements are within predetermined ranges; an error module to determine the difference between an intended value of the dimension and the measured value of the dimension. wherein the evaluation module determines geometrical compensation based on: the determination if measurements are within predetermined ranges; the difference between the intended value and the measured value of the dimensions; and the weighting factor for each dimension.
13. An apparatus according to claim 11 , further comprising an additive manufacturing apparatus.
14. A machine-readable medium storing instructions which, when executed by a processor, cause the processor to: obtain measurements of dimensions of an object generated by additive manufacturing; obtain weighting factors for each dimension describing a relative importance of accuracy of each of the dimensions; evaluate a function to provide an indication of fitness of a geometrical compensation applied to object model data representing the object prior to generating the object, wherein inputs of the function comprise: the measurements of the dimensions;
an indication of intended values for the dimensions; and the weighting factors for each dimension.
15. A machine-readable medium storing instructions according to claim 14. wherein the indication of intended values comprises: predetermined tolerance ranges for the dimensions; and/or nominal values of the dimensions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/030268 WO2021221615A1 (en) | 2020-04-28 | 2020-04-28 | Evaluating dimensional accuracy based on weighting factors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/030268 WO2021221615A1 (en) | 2020-04-28 | 2020-04-28 | Evaluating dimensional accuracy based on weighting factors |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021221615A1 true WO2021221615A1 (en) | 2021-11-04 |
Family
ID=78373781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/030268 WO2021221615A1 (en) | 2020-04-28 | 2020-04-28 | Evaluating dimensional accuracy based on weighting factors |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021221615A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170203515A1 (en) * | 2016-01-14 | 2017-07-20 | Microsoft Technology Licensing, Llc | Printing 3d objects with automatic dimensional accuracy compensation |
CN108115941A (en) * | 2018-02-05 | 2018-06-05 | 广东水利电力职业技术学院(广东省水利电力技工学校) | A kind of 3D printer system |
-
2020
- 2020-04-28 WO PCT/US2020/030268 patent/WO2021221615A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170203515A1 (en) * | 2016-01-14 | 2017-07-20 | Microsoft Technology Licensing, Llc | Printing 3d objects with automatic dimensional accuracy compensation |
CN108115941A (en) * | 2018-02-05 | 2018-06-05 | 广东水利电力职业技术学院(广东省水利电力技工学校) | A kind of 3D printer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210370611A1 (en) | Object model dimensions for additive manufacturing | |
US10974458B2 (en) | Dimensional compensations for additive manufacturing | |
US12076931B2 (en) | Dimensional compensations in additive manufacturing | |
US20230339188A1 (en) | Predicted object attributes | |
CN113905874B (en) | Geometric compensation | |
US20220075347A1 (en) | Geometrical compensations | |
US11989487B2 (en) | Geometrical compensation models | |
US20230027565A1 (en) | Spatial Arrangements of Objects for Additive Manufacturing | |
US11993022B2 (en) | Separation of objects for additive manufacturing | |
WO2021221615A1 (en) | Evaluating dimensional accuracy based on weighting factors | |
US20230024633A1 (en) | Geometrical compensation models | |
US20220105685A1 (en) | Object Locations in Additive Manufacturing | |
WO2020222781A1 (en) | Geometrical compensations | |
WO2022005464A1 (en) | Spatial arrangements for additive manufacturing | |
US20230040621A1 (en) | Geometric compensations | |
WO2021080561A1 (en) | Surface offsets | |
US12079546B2 (en) | Dimensions in additive manufacturing | |
US12109761B2 (en) | Geometrical compensation in additive manufacturing | |
US20240227308A1 (en) | Print agent coverage amounts | |
US20230102130A1 (en) | Print job processing | |
WO2021230858A1 (en) | Identifying interior surfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20933064 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20933064 Country of ref document: EP Kind code of ref document: A1 |