WO2019209327A1 - Modifying object volumes based on locally predicted temperatures - Google Patents

Modifying object volumes based on locally predicted temperatures Download PDF

Info

Publication number
WO2019209327A1
WO2019209327A1 PCT/US2018/029881 US2018029881W WO2019209327A1 WO 2019209327 A1 WO2019209327 A1 WO 2019209327A1 US 2018029881 W US2018029881 W US 2018029881W WO 2019209327 A1 WO2019209327 A1 WO 2019209327A1
Authority
WO
WIPO (PCT)
Prior art keywords
volume
predicted
local
temperature
sub
Prior art date
Application number
PCT/US2018/029881
Other languages
French (fr)
Inventor
David RAMIREZ MUELA
Sergio PUIGARDEU ARAMENDIA
Manuel Freire Garcia
Lluis ABELLO ROSELLO
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2018/029881 priority Critical patent/WO2019209327A1/en
Publication of WO2019209327A1 publication Critical patent/WO2019209327A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING 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/00Additive 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/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING 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/00Additive 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/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE 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/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/10Additive manufacturing, e.g. 3D printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/08Thermal analysis or thermal optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

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 includes 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 processing data for use in additive manufacturing
  • Figures 2A and 2B show an example of a slice of an object model having a defined reduced perimeter
  • Figure 3 is a flowchart of an example method of generating an object using additive manufacturing
  • Figures 4A-4D show examples of functions for use in determining a voxel erosion magnitude and/or a contone level for fusing agent to be applied in object generation;
  • Figures 5 and 6 are simplified schematic drawings of example apparatus for additive manufacturing
  • Figure 7 is a simplified schematic drawing of an example machine readable medium associated with a processor.
  • Figure 8 is an example showing dimensional accuracies of voxel erosion methods.
  • 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.
  • 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 V1 R10A“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’
  • a fusing 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 generated 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 coalesces and solidifies 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.
  • 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 V1 Q60Q“HP fusing agent” available from HP Inc.
  • a fusing agent may comprise an infra-red light absorber.
  • such a fusing agent may comprise a near infra-red light absorber.
  • such a fusing agent may comprise a visible light absorber.
  • such a fusing agent may comprise a UV light absorber.
  • print agents comprising visible light 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 to an object, and such agents may therefore be termed detailing agents.
  • the detailing agent may be used near edge surfaces of an object being printed.
  • a suitable detailing agent may be a formulation commercially referred to as V1 Q61A“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 generating 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 can be processed to generate slices of 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.
  • Figure 1 is an example of a method, which may comprise a computer implemented method for modifying object model data, comprising, in block 102, analysing object model data representing at least a portion of an object defining an initial object volume to determine a plurality of predicted temperatures of object generation, each predicted temperature corresponding to a different location.
  • the object represented by the object model data is to be generated by an additive manufacturing apparatus by fusing build material.
  • the object model may comprise data representing at least a portion (in some examples, a slice) of an object to be generated by an additive manufacturing apparatus by fusing a build material.
  • the object model data may for example comprise a Computer Aided Design (CAD) model, and/or may for example be a STereoLithographic (STL) data file.
  • CAD Computer Aided Design
  • STL STereoLithographic
  • the object model data may represent the object or object region as a plurality of sub-volumes, wherein each sub-volume represents a region of the object which is individually addressable in object generation.
  • the sub-volumes may be referred to as voxels, i.e. three-dimensional pixels, wherein each voxel occupies or represents a discrete volume.
  • three-dimensional space may be characterised in terms of such voxels.
  • the voxels are determined bearing in mind the print resolution of an object generation apparatus, such that each voxel represents a region which may be uniquely addressed when applying print agents, and therefore the properties of one voxel may vary from those of neighbouring voxels.
  • a voxel may correspond to a volume which can be individually addressed by an object generation apparatus (which may be a particular object generation apparatus, or a class of object generation apparatus, or the like) such that the properties thereof can be determined at least substantially independently of the properties of other voxels.
  • the‘height’ of a voxel may correspond to the height of a layer of build material.
  • the resolution of an object generation apparatus may exceed the resolution of a voxel.
  • the voxels of an object model may each have the same shape (for example, cuboid or tetrahedral), but they may in principle differ in shape.
  • voxels are cuboids, for example based on the height of a layer of build material.
  • each voxel in processing data representing an object, each voxel may be associated with properties, and/or to object generation instructions, which apply to the voxel as a whole.
  • the analysis of block 102 may be carried out on a slice by slice basis.
  • the slice may be a slice of a virtual build volume modelling an intended‘real’ build volume, and may comprise slices taken from more than one object model.
  • the slices may be one voxel thick.
  • determining the predicted temperature values of object generation may comprise determining a model of a heat map for at least a portion of the object during object generation. This may be based on an intended distribution of print agents, a choice of intended print agents and/or intended operational temperatures (such as bed warming temperatures) and the like.
  • Block 104 comprises determining, using at least one processor, a modified object volume, wherein the modified object volume is smaller than the initial object volume, and wherein a local reduction in the object volume is determined based on a local predicted temperature.
  • print agent may be applied (and/or control instructions may be specified) with a resolution of around 600dpi (dots per inch) or 1200dpi. In other examples, other resolutions may be used for control instructions and/or print agent application.
  • 600dpi allows a uniquely addressable region of 42 by 42 microns in cross section, and thus voxels may be defined to relate to a 42 by 42 micron region.
  • Print agent may be associated with a group of voxels, which in turn correspond to regions of the layer.
  • a dimension of the object(s) may be larger than the regions to which fusing agent is applied.
  • the object volume as described in object model data may be reduced.
  • the object once formed may end up being closer to an intended size.
  • an analysis may be carried out to determine predicted temperatures of object generation. As the amount by which an object grows locally may be based on the local temperature (with hotter object portions tending to grow more than cooler object portions), the method proposes basing a local reduction on a locally predicted temperature.
  • the temperatures achieved in object generation may be associated with the solid volume of object features, and also the proximity of object features to other object features.
  • the temperature achieved may be affected by at least one print agent (including the choice and/or amount of such print agent) applied to the build material. Growth of an object can be caused or enhanced by large thermal masses, or by the close proximity of smaller parts that act like a larger consolidated thermal mass.
  • sub-volumes may be removed (or eroded) in at least one object model sub-volume to prevent different object surfaces from fusing together, or to ensure intended cavities remain open.
  • a number of sub-volumes/voxels ‘behind’ a surface sub-volume/voxel may be selected for removal in a dimension which is orthogonal to the surface of the object at that surface voxel based on the temperature of the surface voxel.
  • the temperature of the voxel may be an average temperature, for example corresponding to the temperature of a pixel of a heat map (which may correspond to a voxel on a many to one, one to one, or one to many basis), or may be a temperature predicted for a point within the voxel, or determined in some other way.
  • an object perimeter may be divided into lengths, and the average temperature of each length (in some examples, to a threshold depth) may provide a local temperature based on which a local reduction in volume may be determined.
  • the perimeter may be divided into predicted temperature ‘bins’ based on a predicted temperature falling within a temperature range, and this may define a local region to which a determined reduction may be applied.
  • a reduction in volume proximate a first location of the object (which may be a surface location) is based on a first predicted object generation temperature and a reduction in volume proximate a second location is based on a second predicted object generation temperature.
  • a temperature for a voxel may be predicted based on an amount of fusing agent to be applied to a region of the build material corresponding to the voxel/pixel, and based on the predicted temperature of surrounding voxels/pixels, from and to which heat may diffuse.
  • a heat model is determined at a resolution of 600 dpi, and a heat value of between 0-255 is associated with the pixels of such a heat map, where 0 represents the lowest anticipated temperature of the layer in object generation and 255 represents the highest anticipated temperature in object generation.
  • Figure 2A shows an example of a slice of an object model 200, in this case having a first, narrow, portion 202 and a second, wider, portion 204.
  • the wider portion 204 of the layer may be expected to become hotter as there will be generally more fusing agent applied, which becomes hotter than untreated build material, in that portion 204.
  • a modified object volume perimeter 206 is shown as a dotted line. The dotted line is closer to the edges of the narrow portion 202 than to the edges of the wider portion 204.
  • a local reduction in volume is associated with a local temperature, and higher local temperatures may in some examples, or in general, result in a greater reduction in volume.
  • Figure 2B shows an example of a section 208 of the object slice 200 of Figure 2A shown as a ‘voxelised’ representation, represented in cross sections as squares (but in reality would have a slice height).
  • the voxels may represent 42 micron cubes.
  • the modified object parameter follows the voxelised structure, such that whole voxels are‘eroded’ from the original object volume to produce a modified object volume. More voxels are outside the perimeter 206 in the wider portion 204 than in the narrow portion 202- in this example, four voxels are to be eroded from the wider portion and two voxels are to be eroded in the narrow portion 202.
  • the‘erosions’ are voxelwise, or ‘sub-volumewise’ erosions.
  • the object model may eroded according to a reduction on a substantially continuous scale, rather than in terms of voxels.
  • the model may be ‘voxelised’, i.e. separated into subvolumes, subsequently.
  • the voxels may be a consistent size. In other examples, the voxels may vary in size. In some example, voxels to a first depth below the surface may have a first, finer or higher, resolution (i.e. have a first, smaller, size) and voxels below the first depth may have second, lower or coarser resolution (i.e. have a second, larger, size). This may allow a greater resolution in modifying the object volume.
  • the first depth may be consistent for an object or a slice, for example based on a thermal mass of the object/object slice. In other examples, the first depth may vary, for example based on a local temperature, according to the techniques set out herein in relation to volume reduction.
  • Figure 3 is another example of the method, which may be, at least in part, a computer implemented method.
  • Block 302 comprises assessing a local geometry of an object. For example, this may be in order to identify small features.
  • identifying a small features may comprise applying a transformation that returns a metric that correlates with the radius of the feature. This value may then be categorised as a size value, which may for example be an 8-bit value between 0 and 255 and used to create a mask that may be applied by a logical AND operation to an object volume (for example, a slice of an object) to identify the areas categorised as small features.
  • Small features may be those having dimensions of around 0.04mm (which corresponds to a single voxel at 600dpi) to around 3mm.
  • Another method of identifying a small feature may comprise reducing (eroding) an initial object volume by a threshold amount (e.g. 0.04mm-3mm) in at least one spatial dimension to provide an eroded object volume, then increasing the eroded object volume in the at least one spatial dimension by the threshold amount to provide a dilated object volume, and comparing the dilated object volume to the initial object volume. Where there is a difference, this indicates that a feature was fully eroded, and therefore may comprise a small feature.
  • a threshold amount e.g. 0.04mm-3mm
  • Blocks 306 and 308 comprise applying an incremental adjustment to the object volume (e.g., eroding at least one sub-volume or voxel) according to, respectively, a first and a second function.
  • the first and second functions may be different from one another.
  • at least one or both of the first and second functions are staircase functions, i.e. increase and/or decrease abruptly from one constant value to another.
  • a first range of temperatures will be associated with a first number of sub-volumes or voxels being eroded whereas a second range of temperatures will be associated with a second number of sub-volumes or voxels being eroded. This is set out in greater detail below with reference to Figures 4A- 4D.
  • Block 310 comprises determining an amount of fusing agent to be applied to a perimeter region of the object. For example, this may comprise determining an amount of fusing agent to be applied to a region corresponding to a surface voxel of the modified object volume. The amount of fusing agent is based on a local temperature. In examples where the first and second functions are staircase functions, and each incremental adjustment is associated with the predicted temperature range, for at least one predicted temperature range the amount of fusing agent to be applied is higher when the local temperature is at a low end of the temperature range and lower when the local temperature is at a higher end of the temperature range. Again, this is set out in greater detail below with reference to Figures 4A- 4D.
  • Block 312 comprises determining object generation instructions for generating the object, the object generation instructions specifying an amount of print agent to be applied to each of a plurality of locations (including the object perimeter region) on a layer of build material.
  • Block 314 comprises generating an object based on the object generation instructions.
  • the object may be generated in a layer-wise manner, with successive layers of built material being formed and print agent selectively applied thereto.
  • Energy for example, heat
  • the layers may be generated in a layer-wise manner, with successive layers of built material being formed and print agent selectively applied thereto.
  • Energy for example, heat
  • Figure 4A shows an example of a first staircase function with heat values shown on the x-axis and a number of voxels to remove from an object volume shown on the y-axis.
  • the heat values are encoded as 8 bit values (i.e. having a value of between 0 and 255, where 0 may correspond to the base temperature of untreated build material (i.e. build material which is not intended to fuse, but which may experience some preheating).
  • the melting temperature is around 188-190°C and the operation temperatures may be a minimum of around 162-168°C, but these temperatures may vary based on the materials and the like.
  • the staircase function is 0 until a value of 17 is reached. Then a single voxel is indicated for heat values between 17 and 177. Two voxels are indicated for heat values between 178 and 233 and three voxels are indicated for higher heat values. As explained in greater detail below, in some examples, there is a minimum erosion of 1 voxel and/or the number of voxels to be eroded is the number specified by the staircase function“+G.
  • this staircase function may be used to define an‘erosion mask’, for example based on the following transform, which could be applied to a slice of the object model which defines an XY plane:
  • the output of this transform is 255 where an XY distance from the surface of the object (which may be the distance from a perimeter of a slice of the object) is greater than the number of voxels to be eroded and 0 elsewhere.
  • a ‘strict compare’ may be used. This means that the number of voxels which are actually eroded will be equal to the defined erosion value of the staircase function plus one. However, in other examples, this may not be the case and the staircase function may be defined taking this into account.
  • This erosion mask may be stored in a mask plane such that it can be applied to a rendered cross-section of the object using a logical AND operation:
  • the amount of fusing agent used in a perimeter region may be controlled based on the position of a heat value within the ‘stair’ of the staircase function.
  • Figure 4B shows the staircase function of Figure 4A with an overlaid‘contone’ level for the voxels, with the contone scale shown on the left of the Figure.
  • the contone level is high, indicating a relatively large amount of fusing agent is to be applied.
  • the contone level is low, indicating that a small amount of fusing agent (or no fusing agent for a contone level of 0) is to be applied. This will assist in smoothing the transitions.
  • the contone level is specified using an 8 bit scale from 0 to 255. Therefore, for examples a contone level of 0 means no fusing agent is applied and 40/255 means that fusing agent is applied at 15% of the maximum fusing agent which may be delivered by that particular object generation apparatus.
  • Controlling the amount of fusing agent in the external perimeter may assist in providing smooth transitions between layers and between different incremental adjustments.
  • a different function may be employed in the vicinity, or locality, of small features.
  • features e.g. small projections from the surface of an object
  • small features which are present in a region of the object where a high amount of heat is expected for example, small features in an internal cavity of an object, or close proximity to a bulk region
  • the high heat may suggest that a high number of voxels should be eroded.
  • this may result in an unacceptable reduction in their size, either obliterating the feature or rendering it too small to fuse or too delicate to survive cleaning operations.
  • a feature has a dimension of around 0.5 mm, this may correspond to 12 voxels at 600 dpi. If three or four voxels are eroded from the side of such a small feature, it will lose approximately 50 to 60% of its cross-section, reducing its size to less than 0.3 mm. Such a feature may be too small to survive cleaning operations.
  • a different staircase function may be applied, for example being more conservative in terms of the number of voxels eroded (or more generally, in relation to a reduction in volume) such as the function shown in Figure 4C.
  • the staircase function is zero between 0 and 17, one between 17 and 177 and zero thereafter.
  • the very hot voxels i.e. those of 177 and above
  • Small features which are, for example, inside a cavity, may reach such temperatures, whereas other small feature surface voxels may be unlikely to reach such high temperatures.
  • the decision has been taken to preserve the presence of such features at the possible expense of dimensional accuracy. This also promotes the erosion of the larger portion of the object rather than the smaller portion. For example, the cavity may become larger as a result of voxel erosion and the temperature there in may be reduced in that way.
  • this staircase function reflects that it is likely that a small feature which becomes very hot (greater than 177 in this example, although other thresholds may be selected in other examples) is likely to be inside a cavity according to predetermined operational parameters. However, other design choices may be made in other examples.
  • erosion may be added to an originally eroded shape via a logical OR operation:
  • Figure 4D shows an alternative staircase function to that shown in
  • FIGS. 4A and 4B with an overlaid contone level for perimeter voxels.
  • the staircase function is similar to that shown in Figures 4A and 4B but there is a region, between 33 and 65 on the heat value scale, in which the number of voxels eroded increases from 1 to 2 voxels.
  • heat values in this region may be associated with relatively small features, for example features of around 1 mm. These features in turn may be associated with a generally higher contone level of fusing agent to ensure that fusing takes place. This will in turn result in additional heat, which may exceed that in a predictive heat map.
  • this particular staircase function anticipates that effect and suggests, for voxels which are likely to be subject to such a high contone specification, an increased erosion.
  • the contone level to be applied to the perimeter voxels reflects this difference with the‘platform’ being associated generally with a relatively high contone level and with a ramped function to ensure smoothing at both the staircase edges of the platform between 33 and 65.
  • functions may be designed which incorporate design choices, which may be influenced by the type of apparatus used, operational parameter and/or user priorities. Such functions may result in an erosion size increasing with local temperature, but this need not be the case in all examples, as shown in Figures 4C and 4D. While staircase functions have been shown in these examples, in other examples, smoothly varying functions and/or a combination of smoothly varying and stepwise functions may be used in other examples (for example, those which are not associated with‘voxelwise’ erosions).
  • FIG. 5 shows an apparatus 500 comprising processing circuitry 502.
  • the processing circuitry 502 comprises a heat analysis module 504 and a modification module 506.
  • the heat analysis module 504 in use of the apparatus 500, analyses object model data representing an object to be generated by an additive manufacturing apparatus, and generates a temperature distribution model (e.g. a heat map) indicative of a predicted temperature distribution within the object during object generation. As described above, in some examples, this may be carried out on a slice by slice basis.
  • a temperature distribution model e.g. a heat map
  • the modification module 506 in use of the apparatus 500, determines modification data, wherein the modification date is indicative of a modification of the object model data.
  • the modification data is to reduce the volume of the object model, such that a magnitude of a local reduction in volume is based on region of the predicted temperature distribution local to the local reduction.
  • the object model data represents an object as a plurality of predefined sub-volumes (voxels) and the reductions in volume are subvolume wise reductions in volume.
  • the modification module 506 may remove or erode at least one object model sub-volume to prevent different object surfaces from fusing together and/or such that the object, when generated, has an intended size rather than an enlarged size due to additional build material adhering/fusing to the surfaces thereof.
  • Figure 6 shows an apparatus 600 comprising processing circuitry 602.
  • the processing circuitry 602 comprises a heat analysis module 504 and a modification module 506 as described above in relation to Figure 5.
  • the processing circuitry 602 further comprises a geometry analysis module 604 and a control data module 606, and the apparatus 600 further comprises object generation apparatus 608.
  • the geometry analysis module 604 identifies object features of less than a threshold size. For example, as described above, the size of a volume reduction may tend to be less in the vicinity of smaller features (or in other words, the volume reduction to be applied to an object feature which has been identified as a small feature may tend to be less) than in the region of larger features. In other words, a local reduction of the object volume may be smaller in the vicinity of a small geometric feature of the object than in the region of a larger geometric feature for at least one predicted temperature range.
  • the control data module 606 generates control data to generate each of a plurality of layers of the object.
  • object generation parameters are associated with the object model sub-volumes.
  • other parameters such as any, or any combination of heating temperatures, build material choices, a number of printing passes, an intent of the print mode, and the like, may be specified.
  • Such parameters may be used to design or select an erosion function such as a function shown in Figure 4A-D.
  • halftoning may be applied to determined object generation parameters to determine where to place fusing agent or the like.
  • the control data may be specified in association with sub-volumes.
  • control data comprises a print agent amount associated with sub-volumes.
  • a magnitude of a reduction may be associated with a predicted temperature range (i.e. using a staircase function as described above).
  • the amount of fusing agent to be applied to a sub-volume (which in some examples may be a sub-volume which is on a perimeter/surface of the object) is higher when the local temperature is at the lower end of the temperature range and lower when the local temperature is at the higher end of the temperature range.
  • the object generation apparatus 608 in use of the apparatus 600, generates the object in a plurality of layers (which may correspond to respective slices of a virtual build volume) according to the generated control data.
  • the object generation apparatus 608 may for example generate an object in a layer-wise manner by selectively solidifying portions of layers of build materials.
  • 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 object generation apparatus 608 may comprise additional components not shown herein, for example any or any combination of a fabrication chamber, a print bed, print head(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, which are not described in detail herein.
  • Figure 7 shows a machine readable medium 700 associated with a processor 702.
  • the machine readable medium 700 comprises instructions 704 which, when executed by the processor 702, cause the processor 702 to carry out processes.
  • the instructions 704 comprise instructions 706 to cause the processor 702 to analyse an object model (e.g. object model data) representing an object to be generated by an additive manufacturing apparatus to determine a first predicted object generation temperature for a first location in a fabrication chamber and second predicted object generation temperature for a second location in a fabrication chamber.
  • object model e.g. object model data
  • the instructions 704 further comprise instructions 708 to cause the processor 702 to erode the object model by removing a plurality of sub-volumes of a predetermined size from the outer surfaces, wherein the number of sub-volumes eroded proximate the first location is based on the first predicted object generation temperature and the number of subvolumes eroded proximate the second location is based on the second predicted object generation temperature.
  • the instructions 704 further comprise instructions to determine a size of object features, wherein the number of sub-volumes eroded varies based on a local predicted object temperature value and the size.
  • the machine readable medium 700 may comprise instructions to carry out any, or any combination, of the blocks of Figures 1 , or 3, or to act as part of the processing circuitry 502, 602 of Figures 5 or 6.
  • Figure 8 shows an example comparing a method in which a standard voxel erosion is applied (line 802) - i.e. the same number of voxels is eroded from an entire slice perimeter- and a method carried out as set out herein, in which a local voxel erosion is based on a local temperature (line 804). Also shown is an example tolerance 806, which in this example indicates that an object’s dimensions should be within 0.2mm of those specified in an original object model. As can be seen, by varying the voxel erosion based on the local temperature, the dimensions of the object may be more accurately produced.
  • 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.
  • a computer readable storage medium including but not limited to disc storage, CD-ROM, optical storage, etc.
  • FIG. 1 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.
  • 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 such as the heat analysis module 504, modification module 506, geometry analysis module 604 and/or the control data module 606 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.
  • 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.
  • 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 flow(s) in the flow charts and/or block(s) in the 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.
  • 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 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. Features described in relation to one example may be combined with features of another example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Materials Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Manufacturing & Machinery (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)

Abstract

In an example, object model data representing at least a portion of an object defining an initial object volume, wherein the object is to be generated by an additive manufacturing apparatus by fusing build material, may be analysed to determine a plurality of predicted temperatures of object generation, each predicted temperature corresponding to a different location. A modified object volume may be determined, wherein the modified object volume is smaller than the initial object volume, and wherein a local reduction in the initial object volume is determined based on a local predicted temperature.

Description

MODIFYING OBJECT VOLUMES BASED ON LOCAL PREDICTED TEMPERATURES
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 includes 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 processing data for use in additive manufacturing;
[0004] Figures 2A and 2B show an example of a slice of an object model having a defined reduced perimeter;
[0005] Figure 3 is a flowchart of an example method of generating an object using additive manufacturing;
[0006] Figures 4A-4D show examples of functions for use in determining a voxel erosion magnitude and/or a contone level for fusing agent to be applied in object generation;
[0007] Figures 5 and 6 are simplified schematic drawings of example apparatus for additive manufacturing;
[0008] Figure 7 is a simplified schematic drawing of an example machine readable medium associated with a processor; and
[0009] Figure 8 is an example showing dimensional accuracies of voxel erosion methods. DETAILED DESCRIPTION
[0010] 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. 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 V1 R10A“HP PA12” available from HP Inc.
[0011] 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 generated 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 coalesces and solidifies 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.
[0012] 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 V1 Q60Q“HP fusing agent” available from HP Inc. In one example such a fusing agent may comprise an infra-red light absorber. In one example such a fusing agent may comprise a near infra-red light absorber. In one example such a fusing agent may comprise a visible light absorber. In one example such a fusing agent may comprise a UV light absorber. Examples of print agents comprising visible light 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.
[0013] 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 to an object, and such agents may therefore be termed detailing agents. In some examples, the detailing agent may be used near edge surfaces of an object being printed. According to one example, a suitable detailing agent may be a formulation commercially referred to as V1 Q61A“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.
[0014] As noted above, additive manufacturing systems may generate objects based on structural design data. This may involve a designer generating 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 can be processed to generate slices of 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.
[0015] Figure 1 is an example of a method, which may comprise a computer implemented method for modifying object model data, comprising, in block 102, analysing object model data representing at least a portion of an object defining an initial object volume to determine a plurality of predicted temperatures of object generation, each predicted temperature corresponding to a different location.
[0016] The object represented by the object model data is to be generated by an additive manufacturing apparatus by fusing build material. The object model may comprise data representing at least a portion (in some examples, a slice) of an object to be generated by an additive manufacturing apparatus by fusing a build material. The object model data may for example comprise a Computer Aided Design (CAD) model, and/or may for example be a STereoLithographic (STL) data file.
[0017] In some examples, the object model data may represent the object or object region as a plurality of sub-volumes, wherein each sub-volume represents a region of the object which is individually addressable in object generation. In some examples herein, the sub-volumes may be referred to as voxels, i.e. three-dimensional pixels, wherein each voxel occupies or represents a discrete volume. In some examples of additive manufacturing, three-dimensional space may be characterised in terms of such voxels. In some examples, the voxels are determined bearing in mind the print resolution of an object generation apparatus, such that each voxel represents a region which may be uniquely addressed when applying print agents, and therefore the properties of one voxel may vary from those of neighbouring voxels. In other words, a voxel may correspond to a volume which can be individually addressed by an object generation apparatus (which may be a particular object generation apparatus, or a class of object generation apparatus, or the like) such that the properties thereof can be determined at least substantially independently of the properties of other voxels. For example, the‘height’ of a voxel may correspond to the height of a layer of build material. In some examples, the resolution of an object generation apparatus may exceed the resolution of a voxel. In general, the voxels of an object model may each have the same shape (for example, cuboid or tetrahedral), but they may in principle differ in shape. In some examples, voxels are cuboids, for example based on the height of a layer of build material. In some examples, in processing data representing an object, each voxel may be associated with properties, and/or to object generation instructions, which apply to the voxel as a whole.
[0018] In some examples, the analysis of block 102 may be carried out on a slice by slice basis. In some examples, the slice may be a slice of a virtual build volume modelling an intended‘real’ build volume, and may comprise slices taken from more than one object model. In some examples, the slices may be one voxel thick.
[0019] In some examples, determining the predicted temperature values of object generation may comprise determining a model of a heat map for at least a portion of the object during object generation. This may be based on an intended distribution of print agents, a choice of intended print agents and/or intended operational temperatures (such as bed warming temperatures) and the like.
[0020] Block 104 comprises determining, using at least one processor, a modified object volume, wherein the modified object volume is smaller than the initial object volume, and wherein a local reduction in the object volume is determined based on a local predicted temperature.
[0021] In general, when an object is generated in a process which includes heat, additional build material may adhere to the object on generation. To consider a slice or layer of an object, in an example, print agent may be applied (and/or control instructions may be specified) with a resolution of around 600dpi (dots per inch) or 1200dpi. In other examples, other resolutions may be used for control instructions and/or print agent application. 600dpi allows a uniquely addressable region of 42 by 42 microns in cross section, and thus voxels may be defined to relate to a 42 by 42 micron region. Print agent may be associated with a group of voxels, which in turn correspond to regions of the layer. However, when fusing agent has been applied and energy is supplied, build material of neighbouring regions/voxels 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 the object(s) may be larger than the regions to which fusing agent is applied.
[0022] In order to compensate for the fact that objects may tend to‘grow’ during manufacture in this manner, the object volume as described in object model data may be reduced. In this way, the object once formed may end up being closer to an intended size. According to the method of Figure 1 , an analysis may be carried out to determine predicted temperatures of object generation. As the amount by which an object grows locally may be based on the local temperature (with hotter object portions tending to grow more than cooler object portions), the method proposes basing a local reduction on a locally predicted temperature.
[0023] The temperatures achieved in object generation may be associated with the solid volume of object features, and also the proximity of object features to other object features. In addition, the temperature achieved may be affected by at least one print agent (including the choice and/or amount of such print agent) applied to the build material. Growth of an object can be caused or enhanced by large thermal masses, or by the close proximity of smaller parts that act like a larger consolidated thermal mass.
[0024] In some examples, sub-volumes may be removed (or eroded) in at least one object model sub-volume to prevent different object surfaces from fusing together, or to ensure intended cavities remain open.
[0025] In some examples, a number of sub-volumes/voxels ‘behind’ a surface sub-volume/voxel may be selected for removal in a dimension which is orthogonal to the surface of the object at that surface voxel based on the temperature of the surface voxel. The temperature of the voxel may be an average temperature, for example corresponding to the temperature of a pixel of a heat map (which may correspond to a voxel on a many to one, one to one, or one to many basis), or may be a temperature predicted for a point within the voxel, or determined in some other way. For example, an object perimeter may be divided into lengths, and the average temperature of each length (in some examples, to a threshold depth) may provide a local temperature based on which a local reduction in volume may be determined. In some examples, the perimeter may be divided into predicted temperature ‘bins’ based on a predicted temperature falling within a temperature range, and this may define a local region to which a determined reduction may be applied. In some examples, a reduction in volume proximate a first location of the object (which may be a surface location) is based on a first predicted object generation temperature and a reduction in volume proximate a second location is based on a second predicted object generation temperature.
[0026] A temperature for a voxel (or more generally for a pixel of a heat map) may be predicted based on an amount of fusing agent to be applied to a region of the build material corresponding to the voxel/pixel, and based on the predicted temperature of surrounding voxels/pixels, from and to which heat may diffuse. In some examples, a heat model is determined at a resolution of 600 dpi, and a heat value of between 0-255 is associated with the pixels of such a heat map, where 0 represents the lowest anticipated temperature of the layer in object generation and 255 represents the highest anticipated temperature in object generation.
[0027] Figure 2A shows an example of a slice of an object model 200, in this case having a first, narrow, portion 202 and a second, wider, portion 204. In generating an object according to the model, the wider portion 204 of the layer may be expected to become hotter as there will be generally more fusing agent applied, which becomes hotter than untreated build material, in that portion 204. A modified object volume perimeter 206 is shown as a dotted line. The dotted line is closer to the edges of the narrow portion 202 than to the edges of the wider portion 204. In other words, a local reduction in volume is associated with a local temperature, and higher local temperatures may in some examples, or in general, result in a greater reduction in volume.
[0028] Figure 2B shows an example of a section 208 of the object slice 200 of Figure 2A shown as a ‘voxelised’ representation, represented in cross sections as squares (but in reality would have a slice height). The voxels may represent 42 micron cubes. Here it may be seen that the modified object parameter follows the voxelised structure, such that whole voxels are‘eroded’ from the original object volume to produce a modified object volume. More voxels are outside the perimeter 206 in the wider portion 204 than in the narrow portion 202- in this example, four voxels are to be eroded from the wider portion and two voxels are to be eroded in the narrow portion 202. In other words, in this example, the‘erosions’ are voxelwise, or ‘sub-volumewise’ erosions. [0029] In other examples, the object model may eroded according to a reduction on a substantially continuous scale, rather than in terms of voxels. In some such examples, the model may be ‘voxelised’, i.e. separated into subvolumes, subsequently.
[0030] In some examples, the voxels may be a consistent size. In other examples, the voxels may vary in size. In some example, voxels to a first depth below the surface may have a first, finer or higher, resolution (i.e. have a first, smaller, size) and voxels below the first depth may have second, lower or coarser resolution (i.e. have a second, larger, size). This may allow a greater resolution in modifying the object volume. The first depth may be consistent for an object or a slice, for example based on a thermal mass of the object/object slice. In other examples, the first depth may vary, for example based on a local temperature, according to the techniques set out herein in relation to volume reduction.
[0031] Figure 3 is another example of the method, which may be, at least in part, a computer implemented method. Block 302 comprises assessing a local geometry of an object. For example, this may be in order to identify small features. In one example, identifying a small features may comprise applying a transformation that returns a metric that correlates with the radius of the feature. This value may then be categorised as a size value, which may for example be an 8-bit value between 0 and 255 and used to create a mask that may be applied by a logical AND operation to an object volume (for example, a slice of an object) to identify the areas categorised as small features. Small features may be those having dimensions of around 0.04mm (which corresponds to a single voxel at 600dpi) to around 3mm.
[0032] Another method of identifying a small feature may comprise reducing (eroding) an initial object volume by a threshold amount (e.g. 0.04mm-3mm) in at least one spatial dimension to provide an eroded object volume, then increasing the eroded object volume in the at least one spatial dimension by the threshold amount to provide a dilated object volume, and comparing the dilated object volume to the initial object volume. Where there is a difference, this indicates that a feature was fully eroded, and therefore may comprise a small feature.
[0033] If it is determined, in block 304, that the local geometry does not comprise a small geometric feature, then the method proceeds to block 306. If however the local geometry comprises a small geometric feature, the method proceeds to block 308. Blocks 306 and 308 comprise applying an incremental adjustment to the object volume (e.g., eroding at least one sub-volume or voxel) according to, respectively, a first and a second function. The first and second functions may be different from one another. In some examples, at least one or both of the first and second functions are staircase functions, i.e. increase and/or decrease abruptly from one constant value to another. In other words, a first range of temperatures will be associated with a first number of sub-volumes or voxels being eroded whereas a second range of temperatures will be associated with a second number of sub-volumes or voxels being eroded. This is set out in greater detail below with reference to Figures 4A- 4D.
[0034] Block 310 comprises determining an amount of fusing agent to be applied to a perimeter region of the object. For example, this may comprise determining an amount of fusing agent to be applied to a region corresponding to a surface voxel of the modified object volume. The amount of fusing agent is based on a local temperature. In examples where the first and second functions are staircase functions, and each incremental adjustment is associated with the predicted temperature range, for at least one predicted temperature range the amount of fusing agent to be applied is higher when the local temperature is at a low end of the temperature range and lower when the local temperature is at a higher end of the temperature range. Again, this is set out in greater detail below with reference to Figures 4A- 4D.
[0035] Block 312 comprises determining object generation instructions for generating the object, the object generation instructions specifying an amount of print agent to be applied to each of a plurality of locations (including the object perimeter region) on a layer of build material.
[0036] Block 314 comprises generating an object based on the object generation instructions. For example, the object may be generated in a layer-wise manner, with successive layers of built material being formed and print agent selectively applied thereto. Energy (for example, heat) may be applied to the layers to cause selective melting and coalescence of the build material.
[0037] Figure 4A shows an example of a first staircase function with heat values shown on the x-axis and a number of voxels to remove from an object volume shown on the y-axis. In this example, the heat values are encoded as 8 bit values (i.e. having a value of between 0 and 255, where 0 may correspond to the base temperature of untreated build material (i.e. build material which is not intended to fuse, but which may experience some preheating). In some examples, for a build material referred to as PA12, the melting temperature is around 188-190°C and the operation temperatures may be a minimum of around 162-168°C, but these temperatures may vary based on the materials and the like.
[0038] In this example, the staircase function is 0 until a value of 17 is reached. Then a single voxel is indicated for heat values between 17 and 177. Two voxels are indicated for heat values between 178 and 233 and three voxels are indicated for higher heat values. As explained in greater detail below, in some examples, there is a minimum erosion of 1 voxel and/or the number of voxels to be eroded is the number specified by the staircase function“+G.
[0039] In some examples, this staircase function may be used to define an‘erosion mask’, for example based on the following transform, which could be applied to a slice of the object model which defines an XY plane:
Threshold (XY distance plane, erosion pixels, 255, 0) = erosion mask
[0040] The output of this transform is 255 where an XY distance from the surface of the object (which may be the distance from a perimeter of a slice of the object) is greater than the number of voxels to be eroded and 0 elsewhere. In some examples, a ‘strict compare’ may be used. This means that the number of voxels which are actually eroded will be equal to the defined erosion value of the staircase function plus one. However, in other examples, this may not be the case and the staircase function may be defined taking this into account.
[0041] This erosion mask may be stored in a mask plane such that it can be applied to a rendered cross-section of the object using a logical AND operation:
AND (object model, erosion mask) = eroded object model
[0042] This may result in an object volume being eroded as a function of the local temperatures (e.g. using a heat map).
[0043] In addition, in some examples the amount of fusing agent used in a perimeter region may be controlled based on the position of a heat value within the ‘stair’ of the staircase function.
[0044] Figure 4B shows the staircase function of Figure 4A with an overlaid‘contone’ level for the voxels, with the contone scale shown on the left of the Figure. As can be seen, at the left-hand edge of each stair, the contone level is high, indicating a relatively large amount of fusing agent is to be applied. However, at the right- hand edge of each stair, the contone level is low, indicating that a small amount of fusing agent (or no fusing agent for a contone level of 0) is to be applied. This will assist in smoothing the transitions. In this example, the contone level is specified using an 8 bit scale from 0 to 255. Therefore, for examples a contone level of 0 means no fusing agent is applied and 40/255 means that fusing agent is applied at 15% of the maximum fusing agent which may be delivered by that particular object generation apparatus.
[0045] Controlling the amount of fusing agent in the external perimeter may assist in providing smooth transitions between layers and between different incremental adjustments.
[0046] As noted above, in some examples a different function may be employed in the vicinity, or locality, of small features. Considering the case of such features (e.g. small projections from the surface of an object), and in particular the case of small features which are present in a region of the object where a high amount of heat is expected (for example, small features in an internal cavity of an object, or close proximity to a bulk region), the high heat may suggest that a high number of voxels should be eroded. However, for small features, this may result in an unacceptable reduction in their size, either obliterating the feature or rendering it too small to fuse or too delicate to survive cleaning operations. For example, if a feature has a dimension of around 0.5 mm, this may correspond to 12 voxels at 600 dpi. If three or four voxels are eroded from the side of such a small feature, it will lose approximately 50 to 60% of its cross-section, reducing its size to less than 0.3 mm. Such a feature may be too small to survive cleaning operations.
[0047] Thus, if a small feature is identified for example as described above in relation to blocks 302 and 304, a different staircase function may be applied, for example being more conservative in terms of the number of voxels eroded (or more generally, in relation to a reduction in volume) such as the function shown in Figure 4C.
[0048] In this example, the staircase function is zero between 0 and 17, one between 17 and 177 and zero thereafter. The very hot voxels (i.e. those of 177 and above) are not eroded in this example as a design choice. Small features which are, for example, inside a cavity, may reach such temperatures, whereas other small feature surface voxels may be unlikely to reach such high temperatures. In this example, the decision has been taken to preserve the presence of such features at the possible expense of dimensional accuracy. This also promotes the erosion of the larger portion of the object rather than the smaller portion. For example, the cavity may become larger as a result of voxel erosion and the temperature there in may be reduced in that way. Therefore, this staircase function reflects that it is likely that a small feature which becomes very hot (greater than 177 in this example, although other thresholds may be selected in other examples) is likely to be inside a cavity according to predetermined operational parameters. However, other design choices may be made in other examples.
[0049] In some cases, the‘small feature’, erosion may be added to an originally eroded shape via a logical OR operation:
OR (eroded object model, eroded small features) = Eroded shape with preserved features
[0050] Figure 4D shows an alternative staircase function to that shown in
Figures 4A and 4B, with an overlaid contone level for perimeter voxels. The staircase function is similar to that shown in Figures 4A and 4B but there is a region, between 33 and 65 on the heat value scale, in which the number of voxels eroded increases from 1 to 2 voxels. This provides an example of another design choice: in some examples, heat values in this region may be associated with relatively small features, for example features of around 1 mm. These features in turn may be associated with a generally higher contone level of fusing agent to ensure that fusing takes place. This will in turn result in additional heat, which may exceed that in a predictive heat map. Therefore, this particular staircase function anticipates that effect and suggests, for voxels which are likely to be subject to such a high contone specification, an increased erosion. However, this need not be the case in all examples. As may be noted, in Figure 4D the contone level to be applied to the perimeter voxels reflects this difference with the‘platform’ being associated generally with a relatively high contone level and with a ramped function to ensure smoothing at both the staircase edges of the platform between 33 and 65.
[0051] In general, as exemplified by Figures 4A-D, functions may be designed which incorporate design choices, which may be influenced by the type of apparatus used, operational parameter and/or user priorities. Such functions may result in an erosion size increasing with local temperature, but this need not be the case in all examples, as shown in Figures 4C and 4D. While staircase functions have been shown in these examples, in other examples, smoothly varying functions and/or a combination of smoothly varying and stepwise functions may be used in other examples (for example, those which are not associated with‘voxelwise’ erosions).
[0052] Figure 5 shows an apparatus 500 comprising processing circuitry 502. The processing circuitry 502 comprises a heat analysis module 504 and a modification module 506. [0053] The heat analysis module 504, in use of the apparatus 500, analyses object model data representing an object to be generated by an additive manufacturing apparatus, and generates a temperature distribution model (e.g. a heat map) indicative of a predicted temperature distribution within the object during object generation. As described above, in some examples, this may be carried out on a slice by slice basis.
[0054] The modification module 506, in use of the apparatus 500, determines modification data, wherein the modification date is indicative of a modification of the object model data. The modification data is to reduce the volume of the object model, such that a magnitude of a local reduction in volume is based on region of the predicted temperature distribution local to the local reduction.
[0055] In some examples, the object model data represents an object as a plurality of predefined sub-volumes (voxels) and the reductions in volume are subvolume wise reductions in volume.
[0056] In some examples, the modification module 506 may remove or erode at least one object model sub-volume to prevent different object surfaces from fusing together and/or such that the object, when generated, has an intended size rather than an enlarged size due to additional build material adhering/fusing to the surfaces thereof.
[0057] Figure 6 shows an apparatus 600 comprising processing circuitry 602. The processing circuitry 602 comprises a heat analysis module 504 and a modification module 506 as described above in relation to Figure 5.
[0058] In this example the processing circuitry 602 further comprises a geometry analysis module 604 and a control data module 606, and the apparatus 600 further comprises object generation apparatus 608.
[0059] In use of the apparatus 600, the geometry analysis module 604 identifies object features of less than a threshold size. For example, as described above, the size of a volume reduction may tend to be less in the vicinity of smaller features (or in other words, the volume reduction to be applied to an object feature which has been identified as a small feature may tend to be less) than in the region of larger features. In other words, a local reduction of the object volume may be smaller in the vicinity of a small geometric feature of the object than in the region of a larger geometric feature for at least one predicted temperature range. [0060] In use of the apparatus 600, the control data module 606 generates control data 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 the object model sub-volumes. In some examples, other parameters, such as any, or any combination of heating temperatures, build material choices, a number of printing passes, an intent of the print mode, and the like, may be specified. Such parameters may be used to design or select an erosion function such as a function shown in Figure 4A-D. In some examples, halftoning may be applied to determined object generation parameters to determine where to place fusing agent or the like. The control data may be specified in association with sub-volumes.
[0061] In some examples, the control data comprises a print agent amount associated with sub-volumes. A magnitude of a reduction may be associated with a predicted temperature range (i.e. using a staircase function as described above). In some examples, for at least one predicted temperature range, the amount of fusing agent to be applied to a sub-volume (which in some examples may be a sub-volume which is on a perimeter/surface of the object) is higher when the local temperature is at the lower end of the temperature range and lower when the local temperature is at the higher end of the temperature range.
[0062] The object generation apparatus 608, in use of the apparatus 600, generates the object in a plurality of layers (which may correspond to respective slices of a virtual build volume) according to the generated control data. The object generation apparatus 608 may for example generate an object in a layer-wise manner by selectively solidifying portions of layers of build materials. 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 object generation apparatus 608 may comprise additional components not shown herein, for example any or any combination of a fabrication chamber, a print bed, print head(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, which are not described in detail herein.
[0063] The processing circuitry 502, 602 or the modules thereof may carry out any of the blocks of Figure 1 or Figure 3. [0064] Figure 7 shows a machine readable medium 700 associated with a processor 702. The machine readable medium 700 comprises instructions 704 which, when executed by the processor 702, cause the processor 702 to carry out processes. The instructions 704 comprise instructions 706 to cause the processor 702 to analyse an object model (e.g. object model data) representing an object to be generated by an additive manufacturing apparatus to determine a first predicted object generation temperature for a first location in a fabrication chamber and second predicted object generation temperature for a second location in a fabrication chamber. The instructions 704 further comprise instructions 708 to cause the processor 702 to erode the object model by removing a plurality of sub-volumes of a predetermined size from the outer surfaces, wherein the number of sub-volumes eroded proximate the first location is based on the first predicted object generation temperature and the number of subvolumes eroded proximate the second location is based on the second predicted object generation temperature.
[0065] In some examples, the instructions 704 further comprise instructions to determine a size of object features, wherein the number of sub-volumes eroded varies based on a local predicted object temperature value and the size.
[0066] In examples, the machine readable medium 700 may comprise instructions to carry out any, or any combination, of the blocks of Figures 1 , or 3, or to act as part of the processing circuitry 502, 602 of Figures 5 or 6.
[0067] Figure 8 shows an example comparing a method in which a standard voxel erosion is applied (line 802) - i.e. the same number of voxels is eroded from an entire slice perimeter- and a method carried out as set out herein, in which a local voxel erosion is based on a local temperature (line 804). Also shown is an example tolerance 806, which in this example indicates that an object’s dimensions should be within 0.2mm of those specified in an original object model. As can be seen, by varying the voxel erosion based on the local temperature, the dimensions of the object may be more accurately produced.
[0068] 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. [0069] 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.
[0070] 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 (such as the heat analysis module 504, modification module 506, geometry analysis module 604 and/or the control data module 606) 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.
[0071] 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.
[0072] 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 flow(s) in the flow charts and/or block(s) in the block diagrams.
[0073] 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. [0074] 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 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. Features described in relation to one example may be combined with features of another example.
[0075] 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.
[0076] 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:
analysing, using at least one processor, object model data representing at least a portion of an object defining an initial object volume, wherein the object is to be generated by an additive manufacturing apparatus by fusing build material, to determine a plurality of predicted temperatures of object generation, each predicted temperature corresponding to a different location; and
determining, using at least one processor, a modified object volume, wherein the modified object volume is smaller than the initial object volume, and wherein a local reduction in the initial object volume is determined based on a local predicted temperature.
2. A method according to claim 1 further comprising determining object generation instructions for generating the object, the object generation instructions specifying an amount of print agent to be applied to each of a plurality of locations on a layer of build material.
3. A method according to claim 2 further comprising generating an object based on the object generation instructions.
4. A method according to claim 1 further comprising determining an amount of fusing agent to be applied to a perimeter region of the object, wherein an amount of fusing agent to be applied in a local region of the perimeter region is based on a local temperature.
5. A method according to claim 4 wherein the local reduction in the initial object volume comprises at least one incremental adjustment and each incremental adjustment is associated with a predicted temperature range and wherein, for at least one predicted temperature range, the amount of fusing agent to be applied is higher when the predicted local temperature is at a lower end of the predicted temperature range and lower when the local temperature is at a higher end of the predicted temperature range.
6. A method according to claim 1 wherein a local reduction of the initial object volume is determined based on at least one local predicted temperature and a determination of a local geometry of the object.
7. A method according to claim 1 wherein the object model data is defined as a plurality of voxels, and voxels to a first depth below the surface have a first size and voxels below the first depth have second size, wherein the first size is smaller than the second size.
8. Apparatus comprising at least one processor, the at least one processor comprising:
a heat analysis module to analyse object model data representing at least a portion of an object to be generated by an additive manufacturing apparatus and to generate a temperature distribution model indicative of a predicted temperature distribution within the object during object generation; and
a modification module to determine modification data, wherein the modification data is indicative of a modification of the object model data, the modification data being to reduce a volume of an object model, wherein a magnitude of a local reduction in volume is based on a local region of the predicted temperature distribution.
9. Apparatus according to claim 8 further comprising a geometry analysis module to identify object features of less than a threshold size, and wherein the modification module is to determine modification data to reduce the volume of the object model based on whether the volume comprises part of an object feature of less than the threshold size.
10. Apparatus according to claim 8 wherein the object model data represents at least a portion of an object as a plurality of sub-volumes, and a reduction in volume is a sub- volume-wise reductions in volume.
1 1. Apparatus according to claim 10 further comprising a control data module to generate control data for object generation using the object model data and the modification data, and to associate the control data with the sub-volumes.
12. Apparatus according to claim 1 1 wherein the control data comprises a print agent amount associated with a sub-volume, and a magnitude of a reduction in sub-volumes is associated with a predicted temperature range wherein, for at least one predicted temperature range, an amount of fusing agent to be applied is higher when a local temperature is at a lower end of the predicted temperature range and lower when the local temperature is at a higher end of the predicted temperature range.
13. Apparatus according to claim 1 1 further comprising additive manufacturing apparatus to generate an object according to the control data.
14. A machine readable medium comprising instructions which, when executed by a processor, cause the processor to:
analyse an object model representing an object to be generated by an additive manufacturing apparatus to determine a first predicted object generation temperature for a first location in a fabrication chamber and second predicted object generation temperature for a second location in the fabrication chamber; and
erode the object model by removing a plurality of sub-volumes of a predetermined size from at least one outer surface of the object model, wherein a number of sub-volumes eroded proximate the first location is based on the first predicted object generation temperature and the number of sub-volumes eroded proximate the second location is based on the second predicted object generation temperature.
15. A machine readable medium according to claim 14 wherein the instructions further comprise instructions to determine a size of object features, wherein the number of sub-volumes eroded varies based on a local predicted object temperature value and the size.
PCT/US2018/029881 2018-04-27 2018-04-27 Modifying object volumes based on locally predicted temperatures WO2019209327A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2018/029881 WO2019209327A1 (en) 2018-04-27 2018-04-27 Modifying object volumes based on locally predicted temperatures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/029881 WO2019209327A1 (en) 2018-04-27 2018-04-27 Modifying object volumes based on locally predicted temperatures

Publications (1)

Publication Number Publication Date
WO2019209327A1 true WO2019209327A1 (en) 2019-10-31

Family

ID=68294567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/029881 WO2019209327A1 (en) 2018-04-27 2018-04-27 Modifying object volumes based on locally predicted temperatures

Country Status (1)

Country Link
WO (1) WO2019209327A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210394450A1 (en) * 2019-04-25 2021-12-23 Hewlett-Packard Development Company, L.P. Compensating for dimensional variation in 3d printing
CN115052748A (en) * 2019-12-13 2022-09-13 西门子工业软件公司 Method and apparatus for designing and manufacturing components in a computer aided design and manufacturing environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143358A1 (en) * 2003-01-16 2004-07-22 Kia Silverbrook 3-D product printing system incorporating an electrical connection printhead
US20150097307A1 (en) * 2013-10-04 2015-04-09 Stratasys, Inc. Additive manufacturing process with dynamic heat flow control
US20160185045A1 (en) * 2014-12-31 2016-06-30 Google Inc. Voxel 3D Printer
US20170028645A1 (en) * 2015-07-29 2017-02-02 Xyzprinting, Inc. Method for adjusting printing head usage amount of 3d printer and control device
US20170307902A1 (en) * 2016-04-26 2017-10-26 University Of Southern California 3d printing with variable voxel sizes based on optical filter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143358A1 (en) * 2003-01-16 2004-07-22 Kia Silverbrook 3-D product printing system incorporating an electrical connection printhead
US20150097307A1 (en) * 2013-10-04 2015-04-09 Stratasys, Inc. Additive manufacturing process with dynamic heat flow control
US20160185045A1 (en) * 2014-12-31 2016-06-30 Google Inc. Voxel 3D Printer
US20170028645A1 (en) * 2015-07-29 2017-02-02 Xyzprinting, Inc. Method for adjusting printing head usage amount of 3d printer and control device
US20170307902A1 (en) * 2016-04-26 2017-10-26 University Of Southern California 3d printing with variable voxel sizes based on optical filter

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210394450A1 (en) * 2019-04-25 2021-12-23 Hewlett-Packard Development Company, L.P. Compensating for dimensional variation in 3d printing
US11983832B2 (en) * 2019-04-25 2024-05-14 Hewlett-Packard Development Company, L.P. Compensating for dimensional variation in 3D printing
CN115052748A (en) * 2019-12-13 2022-09-13 西门子工业软件公司 Method and apparatus for designing and manufacturing components in a computer aided design and manufacturing environment
CN115052748B (en) * 2019-12-13 2023-06-20 西门子工业软件公司 Method and apparatus for designing and manufacturing components in a computer aided design and manufacturing environment

Similar Documents

Publication Publication Date Title
US11182517B2 (en) Modification data for additive manufacturing
KR102163831B1 (en) 3D printing
US10974458B2 (en) Dimensional compensations for additive manufacturing
US11964436B2 (en) Patterns on objects in additive manufacturing
US20210331403A1 (en) Segmenting object model data at first and second resolutions
WO2019209327A1 (en) Modifying object volumes based on locally predicted temperatures
US20220113700A1 (en) Geometrical transformations in additive manufacturing
CN112955304B (en) Additive manufacturing method, printing device, three-dimensional printed object
US20220072800A1 (en) Dimensional compensations in additive manufacturing
US11884021B2 (en) Modifying object geometries based on radiant heating distribution
US20210181714A1 (en) Predicted object attributes
US20220161498A1 (en) Dimensional compensations for additive manufacturing
EP3840937B1 (en) Coloured object generation
US20230024633A1 (en) Geometrical compensation models
CN110869191B (en) Fusion inhibitor containing colorant
WO2020222781A1 (en) Geometrical compensations
US11733676B2 (en) Patterns of variable opacity in additive manufacturing
WO2020226605A1 (en) Temperature values in additive manufacturing
US20220080670A1 (en) Colored object generation
US20220067225A1 (en) Dimensions in Additive Manufacturing
US20220072795A1 (en) Colored object generation
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: 18916441

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: 18916441

Country of ref document: EP

Kind code of ref document: A1