WO2022019902A1 - Generating an arrangement of objects for three-dimensional printing - Google Patents

Generating an arrangement of objects for three-dimensional printing Download PDF

Info

Publication number
WO2022019902A1
WO2022019902A1 PCT/US2020/043062 US2020043062W WO2022019902A1 WO 2022019902 A1 WO2022019902 A1 WO 2022019902A1 US 2020043062 W US2020043062 W US 2020043062W WO 2022019902 A1 WO2022019902 A1 WO 2022019902A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
objects
cooling
arrangement
volume
Prior art date
Application number
PCT/US2020/043062
Other languages
French (fr)
Inventor
Davinia FONT CALAFELL
Julia ALMACELLAS VISA
Marc BORRAS CAMARASA
Sergio GONZALEZ MARTIN
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/US2020/043062 priority Critical patent/WO2022019902A1/en
Publication of WO2022019902A1 publication Critical patent/WO2022019902A1/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
    • 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
    • B29C35/00Heating, cooling or curing, e.g. crosslinking or vulcanising; Apparatus therefor
    • B29C35/16Cooling
    • 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/379Handling of additively manufactured objects, e.g. using robots
    • 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
    • B33Y40/00Auxiliary operations or equipment, e.g. for material handling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/10Additive manufacturing, e.g. 3D printing

Definitions

  • Some additive manufacturing systems such as powder fusing and powder sintering systems, raise the temperature of a powdered build material to promote fusing or sintering or other bonding.
  • a powdered build material may comprise spheres, granules, pellets, fibres, platelets, particles of irregular shape, hollow particles, and combinations thereof, which can be joined together to form desired objects.
  • 3D printing apparatus that uses raised temperatures during printing, a build operation is followed by cooling of the built objects.
  • Built objects may be removed from the printing apparatus for cooling, to enable the printing apparatus to be used for other printing jobs while objects are cooling.
  • Printed objects may be cooled within a build unit of a 3D printing apparatus and may be removed from the build unit to complete their cooling.
  • Some 3D printing systems include a build unit that is a removable component of a printing system, so that a build process may be followed by removal of the printed objects to a container where they will be cooled while the printer and build unit remain free for use.
  • the container may itself be made using an additive manufacturing technique or by other manufacturing methods.
  • FIG. 1 shows an example method for generating an arrangement of objects that can be extracted to a cooling container after printing.
  • FIG. 2 shows another example process for generating an arrangement of objects that can be extracted to a container after printing.
  • FIG. 3 shows an example process for determining whether an arrangement of objects may be extracted to a container after printing.
  • FIG. 4 shows an example process for reconfiguring an arrangement of objects to be extracted to a container after printing.
  • FIG. 5 shows an example of matrices used to generate a container model.
  • FIG. 6 shows an example method for generating an arrangement of objects that may be extracted to a container after printing.
  • FIG. 7 is a diagram of an example portion of a build unit of an additive manufacturing system.
  • FIG. 8 shows an example controller for generating an arrangement of objects that may be extracted to a container after printing.
  • FIG. 9 shows an example of a computer readable medium comprising instructions for generating an arrangement of objects that may be extracted to a container after printing.
  • a fusing agent may be used to fuse together particles of a thin layer of build material formed on a build platform to form a layer of a solid object or part.
  • a layer of build material may be formed by a manufacturing machine having a roller or spreader, or other suitable means, that spreads the powder to thereby provide successive layers on a build platform.
  • a print nozzle may then jet fusing agent at precise locations on to the powder bed to define the geometry of the single or multiple parts to be printed.
  • An energy emitter may be used to cause those portions of powder on which fusing agent was applied to heat up above the melting point of the powder, which may cause the powder particles in those portions to melt and coalesce together. This process may be repeated until the part or parts are formed layer by layer.
  • a processor of the additive manufacturing system processes the three-dimensional print job and determines print instructions indicating precisely when fusing agent is to be deposited on the print layer, for example as a carriage including the print nozzle moves over the layer of build material. This determination may be completed on a layer by layer basis before each layer is jetted with agent.
  • a detailing agent which has a cooling effect may also be used to inhibit fusing at chosen locations adjacent to the desired fusing.
  • Additive manufacturing based on a three-dimensional computer model of an object is often referred to as 3D printing.
  • 3D printing technique is selective laser sintering, in which selected parts of a layer of build material are sintered by the heating effect of a targeted laser beam.
  • the example solution described in detail below is suitable for 3D printing techniques including these localised fusing and sintering examples, but the term “fusing” is intended to include other additive manufacturing techniques that involve heating a powder.
  • an object or a plurality of separate objects may be built by selectively heating, melting and fusing powder particles of a layer of build material on a fabrication bed in a build chamber.
  • the chamber is part of a build unit that is connected to a printing unit which controls the build operation.
  • the build unit containing the object may be disconnected from the printing unit for cooling, and this may involve connecting the disconnected build unit to an external cooling system.
  • a build unit may be left to cool naturally. To allow the build unit to be available for other build operations, it may be desirable for the built objects to be removed from the build chamber before cooling is complete.
  • the built objects may be vulnerable to distortions until they have been cooled below a safe temperature, so there may be a delay before built objects are cool enough to be safely extracted from the build chamber, and there may be a consequent delay before a build unit is connectable back to the printing unit to start a new printing process.
  • the cooling of the contents of the build chamber i.e. a printed object or objects and unfused build material, may take a considerable amount of time depending on the size of the build chamber.
  • a cooling container may be provided, for receiving the contents of the build chamber once the print job is completed.
  • the cooling container may be positioned above the build unit to enable the contents of the build chamber to be raised into the container, and the container removed to allow the built objects to cool in a different location while the build unit becomes available for re-use.
  • the present disclosure describes how an arrangement of objects in a print job, or plot, may be generated that enables the objects to be extracted to a plot-specific cooling container after printing.
  • the objects may be arranged, or re-arranged, to take account of the design of a container into which the objects are to be extracted after printing, or alternatively the container may be generated, or configured, based on the arrangement of the objects.
  • the resulting combination of a particular plot and a corresponding cooling container may give rise to a configuration of container that is suitable for use as a cooling container with the specific plot, and this “plot-specific” design of container may be used as a cooling container whenever the same plot is printed. This may enable improved cooling of 3D printed objects by using a container with features that reduce cooling time.
  • the container may comprise a cooling volume extending vertically through the volume of the container, which may take the form of one or more cooling pipes, to provide a channel running through the container volume.
  • Build material may be removed from such a channel when the printed objects are extracted into the container for cooling, thereby enabling an increased rate of cooling of the printed objects.
  • the cooling volume may alternatively comprise a solid volume of material which may act as a heatsink to extract heat from the build material.
  • the container may in some cases also be 3D printed, or may be manufactured in any other way.
  • the object model data may represent a set of objects to be 3D printed.
  • the container information relates to the container that the objects are to be extracted to after printing.
  • An arrangement of the objects may be generated that enables the objects to be extracted to the container after printing, without any of the objects coinciding with a vertical cooling volume provided in the cooling container. For example, if it is determined that an arrangement of the objects cannot be extracted to a specified container because one or more objects coincide with the space occupied by a cooling volume of the container, then the arrangement of objects may be reconfigured until an arrangement is generated which will accommodate the cooling volume. Once a suitable arrangement of objects is generated, the process may generate a container model for 3D printing the container.
  • the generation of the container model may be based on the arrangement of the objects and the container information.
  • the objects and the container may then be printed.
  • the container may be generated first by itself, and the printed container may be re-used to extract later print jobs into the same container for cooling.
  • FIG. 1 shows an example method 100 for generating an arrangement of objects that may be extracted to a plot-specific container.
  • object model data is obtained at 101.
  • a pre-print application may receive object model data representing a set of objects to be 3D printed, or this data may be received by a 3D printer.
  • Information is obtained at 102, relating to the container that the objects may be extracted to after printing.
  • this container information may comprise properties of the container, such as its dimensions or CAD model data, or the information may comprise an identifier that identifies a particular design of container whose dimensions are stored elsewhere.
  • obtaining the container information may involve generating the design of a container based on the arrangement of the set of objects, as described in more detail below.
  • the container may include a cooling volume, for increasing the rate of cooling when the objects have been printed and the printed job is extracted from the build unit into the container for cooling.
  • the cooling volume may comprise one or more cooling pipes or channels extending through the container volume to provide a space or void to facilitate the extraction of heat from the printed job, or may comprise an air gap between two dividing walls which divide the container volume into separate sections containing the printed objects.
  • the cooling volume may comprise a solid volume of material, extending through the container volume, such as a rod or slab of material rather than a hollow volume, which may act as a heatsink to extract heat from the printed job.
  • an arrangement of the objects is generated that enables the objects to be extracted to the container after printing. For example, this may comprise reconfiguring an initial arrangement of objects until a suitable arrangement is found. In this example, generating the arrangement based on the container information ensures that the arrangement is adapted specifically to the configuration of the specific container.
  • the method may generate build data, or print data, which may be used to control a 3D printer to print the objects in the generated arrangement.
  • the method 100 may be performed in a different order.
  • obtaining the object model data may comprise obtaining object model data based on an arrangement previously generated at 103.
  • Obtaining the container information may then comprise generating a configuration of the container, based on the object model data, and generating a model for the container.
  • the method 100 therefore encompasses both a method of generating an arrangement of objects based on container information, which enables the objects to be extracted to the container after printing, and a method of generating a container model based on an arrangement of objects.
  • FIG. 2 shows an example process for determining an arrangement of objects that enables the objects to be extracted to a plot-specific container after printing.
  • the process is performed in a pre-print application, represented by the windows 201 to 203.
  • the process begins with obtaining object model data at 204.
  • This object model data may represent a set of objects to be generated by a 3D printer.
  • the set of objects may be the arrangement of objects 205 shown in window 201.
  • a top view of the objects shows spaces, or volumes, 206 between the objects. These volumes may be used to accommodate cooling volumes in the container.
  • the pre-print application may not actually perform a separate step of generating a top-down view, but the window 202 simply illustrates the locations that may later accommodate cooling volumes in the container.
  • the application obtains container information at 207.
  • this container information may represent properties of the container that the objects are to be extracted to after printing, and an example shape of container 208 is shown in window 203.
  • the application may then determine, based on the container information, whether the arrangement of objects is suitable for extraction into the container without any of the objects coinciding with a vertical cooling volume provided in the container.
  • the application overlays a model of the container 208 with the model of the objects, in order to establish whether any parts of the container, and in particular any parts of a cooling volume extending vertically through the container, overlap with the space occupied by any of the objects.
  • the application determines that the arrangement of the objects may be extracted to the container 208 after printing.
  • the container 208 comprises cooling volumes 209.
  • the cooling volumes 209 may be defined based on the arrangement of the objects and the container information.
  • a model for the container may be generated at 210, based on the generated arrangement of the objects, and the container information.
  • FIG. 3 shows an example of the process of FIG. 2 in which it is determined that a particular arrangement of objects may not be extracted to a specific container after printing.
  • the process 300 is performed by a pre-print application, represented by the windows 301 and 302.
  • object model data is obtained representing a set of objects to be printed.
  • An arrangement of the objects 303 is shown in window 301 , and a top view of the objects is shown in window 302.
  • Container information is obtained at 304, which may indicate properties of the container that the objects are to be extracted to after printing.
  • the application determines at 305 that the arrangement of objects cannot be extracted to the container after printing.
  • the arrangement of objects 303 may not include sufficient space between objects to accommodate internal walls or cooling volumes of the specified container, when the printed objects are extracted into the container.
  • FIG. 4 shows an example process for reconfiguring an arrangement of objects until an arrangement is found that enables the objects to be extracted to a container after printing.
  • the process may begin at 404 by reconfiguring an arrangement of objects. For example, this may comprise reconfiguring an arrangement that has been determined as not suitable for extraction to a specified container based on the container information.
  • the process 400 reconfigures the arrangement of objects 303 from FIG. 3. For example, the process may generate a new arrangement for the objects 405, shown in window 401.
  • the objects have a greater separation than shown in FIG. 3, so that there are larger volumes between the objects, shown as volumes 406.
  • the application may then determine that the arrangement of objects 405 is suitable for extraction to the specified container after printing, for example, the container whose information has been obtained at 304.
  • the application has determined that the arrangement of objects may be extracted to a container 407 after printing, as shown in window 403, which illustrates how the arrangement of objects fits inside the container
  • a model for the container may be generated at 409. This generation of the container model may be based on the generated arrangement of the objects and the container information.
  • the application performs a reconfiguration by increasing separation between the parts. This is one example of a reconfiguration, but other actions may be used. For example, the application may configure a completely new arrangement as opposed to increasing the separation of the objects in an existing configuration. In some examples of the process 400, the application may iterate through different reconfigurations until an arrangement of objects is found that enables the objects to fit inside the specified cooling container when printed.
  • This reconfiguration may include using a packing function which may be an optimisation function using constraints which ensure that the space occupied by the container is left free in the packing of the objects. In some examples, this reconfiguration may result in different numbers, sizes and/or shapes of the cooling volumes. In some examples, the application may also be constrained by the size of the print bed that the objects will be printed in. In some examples, the application may change the number of objects in the print job in order to enable the determination of a suitable arrangement of objects.
  • FIG. 5 illustrates an example of matrices used to generate a plot-specific container model, based on the objects to be printed in a print job, in which the container includes at least one cooling volume in the form of a cooling channel extending vertically through the volume of the container.
  • the process is performed in a pre-print application, but it may also be performed in a 3D printer.
  • the object model data is first converted into the form of a 3D model, represented by a matrix M, or may be obtained in this form.
  • This matrix M may represent the arrangement of objects 502 in the plot to be printed, with each layer of the plot represented in a horizontal, or x-y axis, and with the layers to be built up sequentially in the vertical, or z-axis during 3D printing.
  • the application may then perform a determination for each column in the z-axis as to whether any of the x-y planar layers at a given position in the x-y plane contains a voxel forming part of an object to be printed. This determination may be made by performing a cumulative sum over the z-axis of the matrix M, and setting to 1 any values that are greater than or equal to 1.
  • a projection matrix P representing the x-y plane and indicating for each point in the x-y plane whether the z-axis overlaps with no objects in the object model, or whether that point intersects with part of an object in one or more of the layers.
  • the projection matrix P may indicate regions in the x-y plane in which no object is to be printed in any layer, and these regions are shown in white in matrix P, illustrated in FIG. 5. Such regions may be used to form volumes running vertically through the print job which may be used to accommodate cooling volumes in the cooling container into which the printed job is to be extracted. [0029]
  • the application may perform a series of matrix transformations on the matrix P.
  • these matrix transformations may be performed using a set of parameters including a minimum distance from the objects to the container, and a container wall thickness.
  • the application may first dilate the matrix P by a first offset, wherein the first offset may be the specified minimum distance from the objects to the container.
  • This dilated matrix is referred to here as P and represents a region covering the projection of all the objects to be printed and extending to the inside boundary of a container surrounding all the objects and separated from those objects by at least the specified minimum distance.
  • the application may then dilate matrix P ? by a second offset value representing the container wall thickness.
  • the further dilated matrix is referred to here as P 2 , and represents the region covered by matrix P ? and extended to include the thickness of the container wall around this region.
  • the two matrices P ? and P 2 may be used to generate the container model.
  • the container model may be made up of a wall having a uniform cross-section throughout the height of the container, and a horizontal top cover having a size and shape corresponding to the outer extent of the container wall.
  • the container wall and top cover may be represented by a top cover x-y slice matrix P TC and a container wall x-y slice matrix P w , generated from matrices P 1 and P 2 as follows:
  • the x-y slice represented by matrix P w may be printed for all heights of the print job, and the x-y slice represented by matrix P TC may be printed above the wall layers to form the top cover.
  • the top cover may be printed using a number of layers to create a desired thickness, which may be equal to the specified container wall thickness.
  • a guillotine may be used to cut the bottom of the printed job and form a bottom cover.
  • FIG. 6 shows an example method 600 for generating an arrangement of objects that enables the objects to be transferred to a plot-specific container after printing, and also for generating the container model itself.
  • This example method may be used where the specific configuration of cooling container is not predetermined, and there is some flexibility in the design of the container which may be used. For example, the design of the container may be advantageously modified in conjunction with the arrangement of the objects to be printed, in order to optimise the available cooling volume within the container.
  • the method begins at 601 with obtaining object model data.
  • This object model data may represent a set of objects to be generated by a 3D printer or other additive manufacturing system.
  • the objects have a pre-defined arrangement in the object model data.
  • the method proceeds to obtain container information at 602, in accordance with any of the examples described above.
  • the container information may comprise an identifier that identifies a particular design of container whose dimensions are stored elsewhere, or the container information may comprise dimensions of the container, such as a CAD model.
  • obtaining the container information may comprise obtaining information about a desired number and/or size of cooling pipes or other cooling volumes, or a desired target cooling time for the print job.
  • the container information may comprise parameters which define how a container is to be generated based on a particular arrangement of objects, such as the container wall thickness and/or the minimum distance from the objects to the container, as described above in connection with FIG. 5.
  • the application determines, based on the object model data and the container information, whether the arrangement of the objects is such that the objects are able to be transferred to a container corresponding to the specified container information, after printing.
  • the determination at 603 may comprise determining whether the arrangement of objects will fit inside the container, for example by determining whether the container, and in particular a cooling volume extending through the container, overlaps with the space occupied by an object in the object model when the container and object model are overlaid.
  • the determination at 603 may comprise determining whether the arrangement of objects contains sufficient space between objects to permit a container design having the specified cooling pipe volume. In another example, the determination at 603 may comprise determining whether the arrangement of objects is such as to allow any form of cooling volume extending vertically through the container, i.e. whether the plot contains any regions in the x-y plane which do not intersect with an object to be printed at any point in the z-axis. If the arrangement of objects is determined at 603 not to be suitable for extraction to a container corresponding to the specified container information, the method proceeds to 605 and reconfigures the arrangement of the objects. The method may then continue iterating through arrangements of objects until a suitable arrangement is generated.
  • the method proceeds to 606 to generate the container model in accordance with any of the examples described above.
  • the container model may be generated as described in connection with FIG. 5, and may be based on the arrangement of the objects and the specified container parameters such as the container wall thickness and the minimum distance from the objects to the container.
  • the arrangement of objects, and in some examples also the container model may be generated as described in the examples above.
  • the pre-print application may present the user with the option of using the specific cooling container. If the user opts to use the specified cooling container corresponding to the print job, the user may be given the option of specifying whether or not the container is to be printed by the 3D printer. If the user opts to print the container, then the container may be printed using the stored container details, either before the set of objects is printed, or in some cases at the same time as the set of objects.
  • the printed container may then be used as the cooling container for the printed set of objects, and may be re-used subsequently as a cooling container at any such time that the same print job is to be printed.
  • the user may opt not to print the container, for example because the container has already been printed previously and is available for use as the cooling container for the print job, in which case the print job containing the set of objects, and not the container, may be selected for printing. It will be appreciated that re-using a previously printed container as the cooling container may reduce the cost and time required to build the objects, since the container need not be printed again, and may further improve cooling of the printed objects since the cooling container and its cooling volumes may already be cold when the printed job is extracted to the container.
  • the pre-print application may perform a cooling simulation which may estimate a cooling time for the printed objects when extracted to the specified container.
  • This simulation may be based on a heat transfer equation, and may use information about the arrangement of the objects and the configuration of the cooling container and cooling volumes, as well as knowledge of heat conduction within the build material, to determine an estimated cooling time.
  • the application may determine whether the estimation provides an acceptable cooling time, for example, by providing the estimation to a user for approval. In other examples, a target cooling time may already be made available and the method may determine automatically whether the estimated cooling time is acceptable. If the estimated cooling time is not acceptable, the application may proceed to reconfigure the arrangement of objects again.
  • Such reconfiguration may use cooling time as a design consideration for the arrangement of the objects. For example, if a shortened cooling time is desired, an arrangement of objects may be found that results in more and/or larger spaces between objects and/or fewer objects being printed per job, as explained above. When an arrangement is determined that results in a suitable estimated cooling time, the arrangement of the objects may be approved and sent for printing. In some examples, the estimated cooling time may be computed in the printer rather than in a pre-print application. However, carrying out the estimation of cooling time in a pre-print application may advantageously enable a user to continue to make iterative changes to the arrangement and/or the number of objects to be printed, while taking into consideration the estimated cooling time, before sending the job for printing.
  • the method 600 is an example of the disclosure, but that the method is not limited to the exact steps shown. In some examples, the method 600 may also be performed in a different order and other steps may be included. For example, a cooling simulation may be performed in the method 600, based on the object model data and the container information.
  • the cooling simulation may estimate a cooling time for the printed objects, which may be used to determine a reconfigured arrangement of the objects at 605 or when generating the container model.
  • FIG. 7 shows one example of an additive manufacturing system 700 having a build unit 701.
  • build material may be supplied to a build platform 704 such that the additive manufacturing process can be carried out on the build material by a 3D printing section of the additive manufacturing system.
  • the build platform 704 may move vertically as shown by the arrow B.
  • the build platform may move vertically downwards as layers of the build material are supplied to the build platform 704.
  • Selective fusing of the build material which in this example is a powder, but in other examples may comprise short fibres or granules, for example, may be performed to form layers of the print job. In this manner, it is possible to build the job layer by layer as the build platform is moved downwards.
  • the print job may be based on the plot model data generated in accordance with any of the examples described above.
  • the resulting product from this printing process may therefore be the arrangement of objects determined in accordance with any of the examples described above.
  • the container 702 may have similar outside dimensions to at least a portion of the build unit 701 , and may be arranged to receive the contents of a top chamber 703 of the build unit.
  • the system may be configured to detect the presence of the container 702 above the build unit 701.
  • the container 702 may be the plot-specific container generated in accordance with any of the examples described above.
  • the 3D printed job may be extracted to the container 702.
  • the container 702 may be positioned on the build unit 701 in a position such that the container is aligned with the top chamber 703 of the build unit 701.
  • the container 702 may be positioned on the build unit 701 such that a central axis of the container is aligned with the central axis of the top chamber as closely as possible.
  • the build platform may then be raised in order to lift the printed job, comprising the printed objects and unfused excess build material, into the container 702.
  • the container may comprise a number of cooling volumes as explained above, and these cooling volumes may be formed as hollow channels, pipes or other volumes extending vertically through the container.
  • unfused powder may begin to fill the cooling volumes of the container 702.
  • This unfused powder may be actively removed as the build platform is raised, for example by using a vacuum tool.
  • the cooling volumes may in this way be cleared of the unfused powder, enabling the printed job to be raised into the container while accommodating the cooling volumes within the printed job.
  • the space occupied by the cooling volumes may therefore provide a more effective transfer of heat from regions within the print job to the exterior.
  • a guillotine may be used to cut the bottom of the printed job, thereby enabling it to be removed from the build platform.
  • this guillotine may form the bottom cover of the plot-specific container.
  • FIG. 8 shows an example of a controller 800 to generate an arrangement of objects in accordance with any of the examples described above.
  • the controller 800 comprises a processor 801 and a memory 802. Stored within the memory 802 are instructions 803 for generating an arrangement of a set of objects in accordance with any of the examples described above.
  • the controller 800 may be part of a computer running the instructions 803.
  • the controller 800 may be part of a 3D printer which may be used to run the instructions 803 after obtaining object model data.
  • FIG. 9 shows a memory 902, which is an example of a computer readable medium storing instructions 910, 911 and 912 that, when executed by a processor 900 communicably coupled to an additive manufacturing system, in this case a 3D printer 901 , cause the processor 900 to generate an arrangement of a set of objects, in accordance with any of the examples described above.
  • the computer readable medium 903 may be any form of storage device capable of storing executable instructions, such as a nontransient computer readable medium, for example Random Access Memory (RAM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, or the like.
  • RAM Random Access Memory
  • EEPROM Electrically-Erasable Programmable Read-Only Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Materials Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Thermal Sciences (AREA)

Abstract

Object model data is obtained, representing a set of objects to be printed by a three-dimensional printer. Information is obtained about a container to receive the set of objects after printing, which includes a cooling volume extending vertically through the container volume. An arrangement of the objects is generated that enables the objects to be extracted to the container after printing without coinciding with the cooling volume.

Description

Generating an arrangement of objects for three-dimensional printing
BACKGROUND
[0001] Some additive manufacturing systems, such as powder fusing and powder sintering systems, raise the temperature of a powdered build material to promote fusing or sintering or other bonding. A powdered build material may comprise spheres, granules, pellets, fibres, platelets, particles of irregular shape, hollow particles, and combinations thereof, which can be joined together to form desired objects. In a three-dimensional (3D) printing apparatus that uses raised temperatures during printing, a build operation is followed by cooling of the built objects.
[0002] Built objects may be removed from the printing apparatus for cooling, to enable the printing apparatus to be used for other printing jobs while objects are cooling. Printed objects may be cooled within a build unit of a 3D printing apparatus and may be removed from the build unit to complete their cooling. Some 3D printing systems include a build unit that is a removable component of a printing system, so that a build process may be followed by removal of the printed objects to a container where they will be cooled while the printer and build unit remain free for use. The container may itself be made using an additive manufacturing technique or by other manufacturing methods.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] FIG. 1 shows an example method for generating an arrangement of objects that can be extracted to a cooling container after printing.
[0004] FIG. 2 shows another example process for generating an arrangement of objects that can be extracted to a container after printing.
[0005] FIG. 3 shows an example process for determining whether an arrangement of objects may be extracted to a container after printing.
[0006] FIG. 4 shows an example process for reconfiguring an arrangement of objects to be extracted to a container after printing.
[0007] FIG. 5 shows an example of matrices used to generate a container model.
[0008] FIG. 6 shows an example method for generating an arrangement of objects that may be extracted to a container after printing. [0009] FIG. 7 is a diagram of an example portion of a build unit of an additive manufacturing system.
[0010] FIG. 8 shows an example controller for generating an arrangement of objects that may be extracted to a container after printing. [0011] FIG. 9 shows an example of a computer readable medium comprising instructions for generating an arrangement of objects that may be extracted to a container after printing.
DETAILED DESCRIPTION
[0012] In some additive manufacturing processes, a fusing agent may be used to fuse together particles of a thin layer of build material formed on a build platform to form a layer of a solid object or part.
[0013] A layer of build material may be formed by a manufacturing machine having a roller or spreader, or other suitable means, that spreads the powder to thereby provide successive layers on a build platform. A print nozzle may then jet fusing agent at precise locations on to the powder bed to define the geometry of the single or multiple parts to be printed. An energy emitter may be used to cause those portions of powder on which fusing agent was applied to heat up above the melting point of the powder, which may cause the powder particles in those portions to melt and coalesce together. This process may be repeated until the part or parts are formed layer by layer.
[0014] By analysing a two-dimensional image of a layer of a three-dimensional print job, or plot, to be printed, a processor of the additive manufacturing system processes the three-dimensional print job and determines print instructions indicating precisely when fusing agent is to be deposited on the print layer, for example as a carriage including the print nozzle moves over the layer of build material. This determination may be completed on a layer by layer basis before each layer is jetted with agent. In some fusing techniques, a detailing agent which has a cooling effect may also be used to inhibit fusing at chosen locations adjacent to the desired fusing.
[0015] Additive manufacturing based on a three-dimensional computer model of an object is often referred to as 3D printing. Another example 3D printing technique is selective laser sintering, in which selected parts of a layer of build material are sintered by the heating effect of a targeted laser beam. The example solution described in detail below is suitable for 3D printing techniques including these localised fusing and sintering examples, but the term “fusing” is intended to include other additive manufacturing techniques that involve heating a powder. [0016] In some 3D printers, an object or a plurality of separate objects may be built by selectively heating, melting and fusing powder particles of a layer of build material on a fabrication bed in a build chamber. The chamber is part of a build unit that is connected to a printing unit which controls the build operation. After the completion of the build operation, the build unit containing the object may be disconnected from the printing unit for cooling, and this may involve connecting the disconnected build unit to an external cooling system. Alternatively, a build unit may be left to cool naturally. To allow the build unit to be available for other build operations, it may be desirable for the built objects to be removed from the build chamber before cooling is complete. In systems using thermal fusing of build material, the built objects may be vulnerable to distortions until they have been cooled below a safe temperature, so there may be a delay before built objects are cool enough to be safely extracted from the build chamber, and there may be a consequent delay before a build unit is connectable back to the printing unit to start a new printing process. The cooling of the contents of the build chamber, i.e. a printed object or objects and unfused build material, may take a considerable amount of time depending on the size of the build chamber.
[0017] To enable extraction of built objects from the build chamber before cooling is completed following the printing process, and to allow the build unit to continue to be used for other print jobs, a cooling container may be provided, for receiving the contents of the build chamber once the print job is completed. The cooling container may be positioned above the build unit to enable the contents of the build chamber to be raised into the container, and the container removed to allow the built objects to cool in a different location while the build unit becomes available for re-use.
[0018] The present disclosure describes how an arrangement of objects in a print job, or plot, may be generated that enables the objects to be extracted to a plot-specific cooling container after printing. The objects may be arranged, or re-arranged, to take account of the design of a container into which the objects are to be extracted after printing, or alternatively the container may be generated, or configured, based on the arrangement of the objects. In either case, the resulting combination of a particular plot and a corresponding cooling container may give rise to a configuration of container that is suitable for use as a cooling container with the specific plot, and this “plot-specific” design of container may be used as a cooling container whenever the same plot is printed. This may enable improved cooling of 3D printed objects by using a container with features that reduce cooling time. For example, the container may comprise a cooling volume extending vertically through the volume of the container, which may take the form of one or more cooling pipes, to provide a channel running through the container volume. Build material may be removed from such a channel when the printed objects are extracted into the container for cooling, thereby enabling an increased rate of cooling of the printed objects. The cooling volume may alternatively comprise a solid volume of material which may act as a heatsink to extract heat from the build material. [0019] In an example of the disclosure, a process comprises: (i) obtaining object model data; (ii) obtaining information about a container; (iii) generating an arrangement of objects that may be extracted to the container after printing; and (iv) printing the objects using a 3D printer, or other form of additive manufacturing system. The container may in some cases also be 3D printed, or may be manufactured in any other way. The object model data may represent a set of objects to be 3D printed. The container information relates to the container that the objects are to be extracted to after printing. An arrangement of the objects may be generated that enables the objects to be extracted to the container after printing, without any of the objects coinciding with a vertical cooling volume provided in the cooling container. For example, if it is determined that an arrangement of the objects cannot be extracted to a specified container because one or more objects coincide with the space occupied by a cooling volume of the container, then the arrangement of objects may be reconfigured until an arrangement is generated which will accommodate the cooling volume. Once a suitable arrangement of objects is generated, the process may generate a container model for 3D printing the container. For example, the generation of the container model may be based on the arrangement of the objects and the container information. The objects and the container may then be printed. In some examples the container may be generated first by itself, and the printed container may be re-used to extract later print jobs into the same container for cooling.
[0020] FIG. 1 shows an example method 100 for generating an arrangement of objects that may be extracted to a plot-specific container. In this example, object model data is obtained at 101. For example, a pre-print application may receive object model data representing a set of objects to be 3D printed, or this data may be received by a 3D printer. Information is obtained at 102, relating to the container that the objects may be extracted to after printing. For example, this container information may comprise properties of the container, such as its dimensions or CAD model data, or the information may comprise an identifier that identifies a particular design of container whose dimensions are stored elsewhere. Alternatively, obtaining the container information may involve generating the design of a container based on the arrangement of the set of objects, as described in more detail below. The container may include a cooling volume, for increasing the rate of cooling when the objects have been printed and the printed job is extracted from the build unit into the container for cooling. The cooling volume may comprise one or more cooling pipes or channels extending through the container volume to provide a space or void to facilitate the extraction of heat from the printed job, or may comprise an air gap between two dividing walls which divide the container volume into separate sections containing the printed objects. Alternatively, in an example where the container is not 3D printed, the cooling volume may comprise a solid volume of material, extending through the container volume, such as a rod or slab of material rather than a hollow volume, which may act as a heatsink to extract heat from the printed job.
[0021] Based on the container information, at 103 an arrangement of the objects is generated that enables the objects to be extracted to the container after printing. For example, this may comprise reconfiguring an initial arrangement of objects until a suitable arrangement is found. In this example, generating the arrangement based on the container information ensures that the arrangement is adapted specifically to the configuration of the specific container. Once an arrangement of objects has been generated which will accommodate a cooling volume of the container, the method may generate build data, or print data, which may be used to control a 3D printer to print the objects in the generated arrangement. [0022] In some examples, the method 100 may be performed in a different order. For example, obtaining the object model data may comprise obtaining object model data based on an arrangement previously generated at 103. Obtaining the container information may then comprise generating a configuration of the container, based on the object model data, and generating a model for the container. The method 100 therefore encompasses both a method of generating an arrangement of objects based on container information, which enables the objects to be extracted to the container after printing, and a method of generating a container model based on an arrangement of objects.
[0023] FIG. 2 shows an example process for determining an arrangement of objects that enables the objects to be extracted to a plot-specific container after printing. In this example the process is performed in a pre-print application, represented by the windows 201 to 203. The process begins with obtaining object model data at 204. This object model data may represent a set of objects to be generated by a 3D printer. For example, the set of objects may be the arrangement of objects 205 shown in window 201. As shown in window 202, a top view of the objects shows spaces, or volumes, 206 between the objects. These volumes may be used to accommodate cooling volumes in the container. It should be understood that the pre-print application may not actually perform a separate step of generating a top-down view, but the window 202 simply illustrates the locations that may later accommodate cooling volumes in the container.
[0024] The application obtains container information at 207. In some examples this container information may represent properties of the container that the objects are to be extracted to after printing, and an example shape of container 208 is shown in window 203. The application may then determine, based on the container information, whether the arrangement of objects is suitable for extraction into the container without any of the objects coinciding with a vertical cooling volume provided in the container. In the example process 200, as shown in window 203, the application overlays a model of the container 208 with the model of the objects, in order to establish whether any parts of the container, and in particular any parts of a cooling volume extending vertically through the container, overlap with the space occupied by any of the objects. Where no such overlap occurs, it may be determined that the arrangement of objects is able to be located within the container while accommodating the cooling volume within space between or around the objects, and hence that the arrangement of objects is suitable for extraction vertically into the container after printing, without any objects coinciding with the cooling volume. In the example of FIG. 2, the application determines that the arrangement of the objects may be extracted to the container 208 after printing. As shown in window 203, the container 208 comprises cooling volumes 209. The cooling volumes 209 may be defined based on the arrangement of the objects and the container information. A model for the container may be generated at 210, based on the generated arrangement of the objects, and the container information.
[0025] FIG. 3 shows an example of the process of FIG. 2 in which it is determined that a particular arrangement of objects may not be extracted to a specific container after printing. In this example, the process 300 is performed by a pre-print application, represented by the windows 301 and 302. In this example, at 307 object model data is obtained representing a set of objects to be printed. An arrangement of the objects 303 is shown in window 301 , and a top view of the objects is shown in window 302. Compared to the volumes 206 in FIG. 2, the arrangement of objects 303 comprises smaller separations between the objects. Container information is obtained at 304, which may indicate properties of the container that the objects are to be extracted to after printing. In this example, unlike in FIG. 2, the application determines at 305 that the arrangement of objects cannot be extracted to the container after printing. For example, the arrangement of objects 303 may not include sufficient space between objects to accommodate internal walls or cooling volumes of the specified container, when the printed objects are extracted into the container.
The application then proceeds to reconfigure the arrangement of the objects at 306 to generate an arrangement of objects that is suitable for extraction into the container. For example, the application may proceed to carry out the process shown in FIG. 4. [0026] FIG. 4 shows an example process for reconfiguring an arrangement of objects until an arrangement is found that enables the objects to be extracted to a container after printing. The process may begin at 404 by reconfiguring an arrangement of objects. For example, this may comprise reconfiguring an arrangement that has been determined as not suitable for extraction to a specified container based on the container information. In this example, the process 400 reconfigures the arrangement of objects 303 from FIG. 3. For example, the process may generate a new arrangement for the objects 405, shown in window 401. As shown in window 402, the objects have a greater separation than shown in FIG. 3, so that there are larger volumes between the objects, shown as volumes 406. The application may then determine that the arrangement of objects 405 is suitable for extraction to the specified container after printing, for example, the container whose information has been obtained at 304. In this example, the application has determined that the arrangement of objects may be extracted to a container 407 after printing, as shown in window 403, which illustrates how the arrangement of objects fits inside the container
407 in a way that leaves space for cooling volumes 408. A model for the container may be generated at 409. This generation of the container model may be based on the generated arrangement of the objects and the container information. [0027] In the above example process 400, the application performs a reconfiguration by increasing separation between the parts. This is one example of a reconfiguration, but other actions may be used. For example, the application may configure a completely new arrangement as opposed to increasing the separation of the objects in an existing configuration. In some examples of the process 400, the application may iterate through different reconfigurations until an arrangement of objects is found that enables the objects to fit inside the specified cooling container when printed. This reconfiguration may include using a packing function which may be an optimisation function using constraints which ensure that the space occupied by the container is left free in the packing of the objects. In some examples, this reconfiguration may result in different numbers, sizes and/or shapes of the cooling volumes. In some examples, the application may also be constrained by the size of the print bed that the objects will be printed in. In some examples, the application may change the number of objects in the print job in order to enable the determination of a suitable arrangement of objects.
[0028] FIG. 5 illustrates an example of matrices used to generate a plot-specific container model, based on the objects to be printed in a print job, in which the container includes at least one cooling volume in the form of a cooling channel extending vertically through the volume of the container. In this example, the process is performed in a pre-print application, but it may also be performed in a 3D printer. In this example, the object model data is first converted into the form of a 3D model, represented by a matrix M, or may be obtained in this form. This matrix M may represent the arrangement of objects 502 in the plot to be printed, with each layer of the plot represented in a horizontal, or x-y axis, and with the layers to be built up sequentially in the vertical, or z-axis during 3D printing. The application may then perform a determination for each column in the z-axis as to whether any of the x-y planar layers at a given position in the x-y plane contains a voxel forming part of an object to be printed. This determination may be made by performing a cumulative sum over the z-axis of the matrix M, and setting to 1 any values that are greater than or equal to 1. This process results in a projection matrix P, representing the x-y plane and indicating for each point in the x-y plane whether the z-axis overlaps with no objects in the object model, or whether that point intersects with part of an object in one or more of the layers. In other words, the projection matrix P may indicate regions in the x-y plane in which no object is to be printed in any layer, and these regions are shown in white in matrix P, illustrated in FIG. 5. Such regions may be used to form volumes running vertically through the print job which may be used to accommodate cooling volumes in the cooling container into which the printed job is to be extracted. [0029] In order to generate a container model, the application may perform a series of matrix transformations on the matrix P. In this example, these matrix transformations may be performed using a set of parameters including a minimum distance from the objects to the container, and a container wall thickness. In this example, the application may first dilate the matrix P by a first offset, wherein the first offset may be the specified minimum distance from the objects to the container. This dilated matrix is referred to here as P and represents a region covering the projection of all the objects to be printed and extending to the inside boundary of a container surrounding all the objects and separated from those objects by at least the specified minimum distance. The application may then dilate matrix P ? by a second offset value representing the container wall thickness. The further dilated matrix is referred to here as P2, and represents the region covered by matrix P ? and extended to include the thickness of the container wall around this region.
[0030] The two matrices P ? and P2 may be used to generate the container model. For example, the container model may be made up of a wall having a uniform cross-section throughout the height of the container, and a horizontal top cover having a size and shape corresponding to the outer extent of the container wall. The container wall and top cover may be represented by a top cover x-y slice matrix PTC and a container wall x-y slice matrix Pw, generated from matrices P1 and P2 as follows:
(1) PW = P2 - P1 (2) PTC = P2
[0031] These two matrices, PTc and Pw, are shown in the two right-hand images of FIG. 5. [0032] In order to generate the container, the x-y slice represented by matrix Pw may be printed for all heights of the print job, and the x-y slice represented by matrix PTC may be printed above the wall layers to form the top cover. The top cover may be printed using a number of layers to create a desired thickness, which may be equal to the specified container wall thickness. In some examples, there is no bottom cover to the container and in some cases, when the objects are printed and extracted to the container, a guillotine may be used to cut the bottom of the printed job and form a bottom cover.
[0033] FIG. 6 shows an example method 600 for generating an arrangement of objects that enables the objects to be transferred to a plot-specific container after printing, and also for generating the container model itself. This example method may be used where the specific configuration of cooling container is not predetermined, and there is some flexibility in the design of the container which may be used. For example, the design of the container may be advantageously modified in conjunction with the arrangement of the objects to be printed, in order to optimise the available cooling volume within the container. The method begins at 601 with obtaining object model data. This object model data may represent a set of objects to be generated by a 3D printer or other additive manufacturing system. In this example, the objects have a pre-defined arrangement in the object model data. The method proceeds to obtain container information at 602, in accordance with any of the examples described above.
For example, the container information may comprise an identifier that identifies a particular design of container whose dimensions are stored elsewhere, or the container information may comprise dimensions of the container, such as a CAD model. In other examples, obtaining the container information may comprise obtaining information about a desired number and/or size of cooling pipes or other cooling volumes, or a desired target cooling time for the print job. In still further examples, the container information may comprise parameters which define how a container is to be generated based on a particular arrangement of objects, such as the container wall thickness and/or the minimum distance from the objects to the container, as described above in connection with FIG. 5. At 603, based on the data obtained in 601 and 602, the application determines, based on the object model data and the container information, whether the arrangement of the objects is such that the objects are able to be transferred to a container corresponding to the specified container information, after printing. In some examples, where the container information identifies a specific container, the determination at 603 may comprise determining whether the arrangement of objects will fit inside the container, for example by determining whether the container, and in particular a cooling volume extending through the container, overlaps with the space occupied by an object in the object model when the container and object model are overlaid.
In other examples, where the container information comprises a desired volume of cooling pipes, the determination at 603 may comprise determining whether the arrangement of objects contains sufficient space between objects to permit a container design having the specified cooling pipe volume. In another example, the determination at 603 may comprise determining whether the arrangement of objects is such as to allow any form of cooling volume extending vertically through the container, i.e. whether the plot contains any regions in the x-y plane which do not intersect with an object to be printed at any point in the z-axis. If the arrangement of objects is determined at 603 not to be suitable for extraction to a container corresponding to the specified container information, the method proceeds to 605 and reconfigures the arrangement of the objects. The method may then continue iterating through arrangements of objects until a suitable arrangement is generated. Once an arrangement of objects is generated at 605 which is determined to be suitable at 603, the method proceeds to 606 to generate the container model in accordance with any of the examples described above. For example, the container model may be generated as described in connection with FIG. 5, and may be based on the arrangement of the objects and the specified container parameters such as the container wall thickness and the minimum distance from the objects to the container. [0034] The arrangement of objects, and in some examples also the container model, may be generated as described in the examples above. When a user subsequently imports a print job to a 3D printer or pre-print application prior to printing, the system may already have stored details of a cooling container corresponding to that print job. For example, where the method has previously been used to generate an arrangement of the objects that is suitable for extraction to a specific cooling container, and a user seeks to print the same set of objects, the pre-print application may present the user with the option of using the specific cooling container. If the user opts to use the specified cooling container corresponding to the print job, the user may be given the option of specifying whether or not the container is to be printed by the 3D printer. If the user opts to print the container, then the container may be printed using the stored container details, either before the set of objects is printed, or in some cases at the same time as the set of objects. The printed container may then be used as the cooling container for the printed set of objects, and may be re-used subsequently as a cooling container at any such time that the same print job is to be printed. Alternatively, the user may opt not to print the container, for example because the container has already been printed previously and is available for use as the cooling container for the print job, in which case the print job containing the set of objects, and not the container, may be selected for printing. It will be appreciated that re-using a previously printed container as the cooling container may reduce the cost and time required to build the objects, since the container need not be printed again, and may further improve cooling of the printed objects since the cooling container and its cooling volumes may already be cold when the printed job is extracted to the container.
[0035] The pre-print application may perform a cooling simulation which may estimate a cooling time for the printed objects when extracted to the specified container. This simulation may be based on a heat transfer equation, and may use information about the arrangement of the objects and the configuration of the cooling container and cooling volumes, as well as knowledge of heat conduction within the build material, to determine an estimated cooling time. Based on an estimation of the cooling time when using the specified cooling container, the application may determine whether the estimation provides an acceptable cooling time, for example, by providing the estimation to a user for approval. In other examples, a target cooling time may already be made available and the method may determine automatically whether the estimated cooling time is acceptable. If the estimated cooling time is not acceptable, the application may proceed to reconfigure the arrangement of objects again. Such reconfiguration, however, may use cooling time as a design consideration for the arrangement of the objects. For example, if a shortened cooling time is desired, an arrangement of objects may be found that results in more and/or larger spaces between objects and/or fewer objects being printed per job, as explained above. When an arrangement is determined that results in a suitable estimated cooling time, the arrangement of the objects may be approved and sent for printing. In some examples, the estimated cooling time may be computed in the printer rather than in a pre-print application. However, carrying out the estimation of cooling time in a pre-print application may advantageously enable a user to continue to make iterative changes to the arrangement and/or the number of objects to be printed, while taking into consideration the estimated cooling time, before sending the job for printing.
[0036] It should be understood that the method 600 is an example of the disclosure, but that the method is not limited to the exact steps shown. In some examples, the method 600 may also be performed in a different order and other steps may be included. For example, a cooling simulation may be performed in the method 600, based on the object model data and the container information.
In such an example, the cooling simulation may estimate a cooling time for the printed objects, which may be used to determine a reconfigured arrangement of the objects at 605 or when generating the container model.
[0037] FIG. 7 shows one example of an additive manufacturing system 700 having a build unit 701. During an additive manufacturing process, build material may be supplied to a build platform 704 such that the additive manufacturing process can be carried out on the build material by a 3D printing section of the additive manufacturing system. The build platform 704 may move vertically as shown by the arrow B. The build platform may move vertically downwards as layers of the build material are supplied to the build platform 704.
Selective fusing of the build material, which in this example is a powder, but in other examples may comprise short fibres or granules, for example, may be performed to form layers of the print job. In this manner, it is possible to build the job layer by layer as the build platform is moved downwards. In this example, the print job may be based on the plot model data generated in accordance with any of the examples described above. The resulting product from this printing process may therefore be the arrangement of objects determined in accordance with any of the examples described above.
[0038] The container 702 may have similar outside dimensions to at least a portion of the build unit 701 , and may be arranged to receive the contents of a top chamber 703 of the build unit. The system may be configured to detect the presence of the container 702 above the build unit 701. In an example, the container 702 may be the plot-specific container generated in accordance with any of the examples described above. In this example, the 3D printed job may be extracted to the container 702. The container 702 may be positioned on the build unit 701 in a position such that the container is aligned with the top chamber 703 of the build unit 701. In addition or alternatively, in use, the container 702 may be positioned on the build unit 701 such that a central axis of the container is aligned with the central axis of the top chamber as closely as possible. The build platform may then be raised in order to lift the printed job, comprising the printed objects and unfused excess build material, into the container 702.
[0039] In this example, the container may comprise a number of cooling volumes as explained above, and these cooling volumes may be formed as hollow channels, pipes or other volumes extending vertically through the container. As the build platform 704 moves upwards as indicated by arrow B, unfused powder may begin to fill the cooling volumes of the container 702. This unfused powder may be actively removed as the build platform is raised, for example by using a vacuum tool. The cooling volumes may in this way be cleared of the unfused powder, enabling the printed job to be raised into the container while accommodating the cooling volumes within the printed job. The space occupied by the cooling volumes may therefore provide a more effective transfer of heat from regions within the print job to the exterior. Once the printed job has been transferred into the container, a guillotine may be used to cut the bottom of the printed job, thereby enabling it to be removed from the build platform. In accordance with the examples described above, this guillotine may form the bottom cover of the plot-specific container.
[0040] FIG. 8 shows an example of a controller 800 to generate an arrangement of objects in accordance with any of the examples described above. The controller 800 comprises a processor 801 and a memory 802. Stored within the memory 802 are instructions 803 for generating an arrangement of a set of objects in accordance with any of the examples described above. In one example, the controller 800 may be part of a computer running the instructions 803. In another example, the controller 800 may be part of a 3D printer which may be used to run the instructions 803 after obtaining object model data.
[0041] FIG. 9 shows a memory 902, which is an example of a computer readable medium storing instructions 910, 911 and 912 that, when executed by a processor 900 communicably coupled to an additive manufacturing system, in this case a 3D printer 901 , cause the processor 900 to generate an arrangement of a set of objects, in accordance with any of the examples described above. The computer readable medium 903 may be any form of storage device capable of storing executable instructions, such as a nontransient computer readable medium, for example Random Access Memory (RAM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, or the like.

Claims

1. A method comprising: obtaining object model data representing a set of objects to be printed by a three-dimensional printer; obtaining information about a container to receive the set of objects after printing, wherein the container comprises a cooling volume extending vertically through the container volume; and generating an arrangement of the set of objects that enables the objects to be extracted vertically into the container after printing without coinciding with the cooling volume.
2. The method of claim 1 , comprising generating the arrangement using an optimisation function constrained by information about the cooling volume of the container.
3. The method of claim 1 , wherein obtaining information about the container comprises generating a container model representing the container, based on the object model data.
4. The method of claim 3, further comprising determining a vertically extending space between objects in the object model and generating the container model to incorporate a cooling volume corresponding to the vertically extending space.
5. The method of claim 1 , wherein the cooling volume comprises a void between portions of the container volume.
6. The method of claim 3, wherein generating the container model comprises: determining a projection of the set of objects in a horizontal plane, based on the object model data; and determining a wall of the container surrounding, and separated from, the outer extent of the projection and extending in a vertical direction.
7. The method of claim 6, further comprising determining a horizontal top cover of the container at the top of the wall, the top cover extending to the outer extent of the container wall.
8. The method of claim 6, comprising determining the container wall based on a specified container wall thickness and a specified minimum separation between an object and the wall.
9. The method of claim 1 , comprising estimating a cooling time for the set of objects when extracted into the container after printing, based on the object model data and the container information, and modifying the arrangement based, at least in part, on the estimated cooling time.
10. A system comprising a controller configured to: obtain object model data representing a number of objects to be generated by an additive manufacturing system; obtain information for a container to receive the generated objects, the container having a cooling volume extending through the container volume; and generate an arrangement of the objects that enables the generated objects to be transferred into the container for cooling without an object coinciding with the cooling volume.
11. The system of claim 10, wherein generating the arrangement comprises determining whether the cooling volume overlaps with the space occupied by an object in the object model when the container and object model are overlaid, and modifying the object model data such that the arrangement of the objects accommodates the cooling volume without such overlap.
12. The system of claim 11 , further comprising generating build data to control the additive manufacturing system to build the generated arrangement of objects.
13. A computer-readable medium comprising instructions that, when executed by a processor, cause the processor to: obtain object model data representing a set of objects to be printed by an additive manufacturing system; obtain information defining a container to receive a printed job containing the set of objects, the container having a cooling volume extending vertically through the container volume; and generate an arrangement of the set of objects that enables the printed job to be extracted vertically into the container while accommodating the cooling volume.
14. The computer-readable medium of claim 13, wherein generating the arrangement comprises modifying a spacing between objects to accommodate the cooing volume when the printed job is extracted into the container.
15. The computer-readable medium of claim 13, further comprising instructions to identify a volume extending vertically through the object model without intersecting an object, and generate a container model incorporating a cooling volume corresponding to the identified volume.
PCT/US2020/043062 2020-07-22 2020-07-22 Generating an arrangement of objects for three-dimensional printing WO2022019902A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2020/043062 WO2022019902A1 (en) 2020-07-22 2020-07-22 Generating an arrangement of objects for three-dimensional printing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/043062 WO2022019902A1 (en) 2020-07-22 2020-07-22 Generating an arrangement of objects for three-dimensional printing

Publications (1)

Publication Number Publication Date
WO2022019902A1 true WO2022019902A1 (en) 2022-01-27

Family

ID=79729777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/043062 WO2022019902A1 (en) 2020-07-22 2020-07-22 Generating an arrangement of objects for three-dimensional printing

Country Status (1)

Country Link
WO (1) WO2022019902A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070026099A1 (en) * 2005-07-26 2007-02-01 Aspect Inc. Powder sinter layered manufacturing apparatus
US20190054697A1 (en) * 2016-05-12 2019-02-21 Hewlett-Packard Development Company, L.P. Container for 3d printed objects and method of cooling and unpacking a manufactured object from a 3d printer using that container
US20190176395A1 (en) * 2016-05-12 2019-06-13 Hewlett-Packard Development Company, L.P. Post-processing in 3d printing systems
CN111002582A (en) * 2019-09-17 2020-04-14 上海联泰科技股份有限公司 3D printing apparatus and control method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070026099A1 (en) * 2005-07-26 2007-02-01 Aspect Inc. Powder sinter layered manufacturing apparatus
US20190054697A1 (en) * 2016-05-12 2019-02-21 Hewlett-Packard Development Company, L.P. Container for 3d printed objects and method of cooling and unpacking a manufactured object from a 3d printer using that container
US20190176395A1 (en) * 2016-05-12 2019-06-13 Hewlett-Packard Development Company, L.P. Post-processing in 3d printing systems
CN111002582A (en) * 2019-09-17 2020-04-14 上海联泰科技股份有限公司 3D printing apparatus and control method thereof

Similar Documents

Publication Publication Date Title
US11565478B2 (en) Definition of a shield feature for additive manufacture
JP5685052B2 (en) 3D modeling apparatus and 3D modeling method
CN109070452B (en) Additive manufacturing system and method for post-processing
EP3433436B1 (en) 3d printing
US20190126560A1 (en) 3d print definition procedures
CN105109043B (en) Three-dimensional printer and its Method of printing
EP3600846B1 (en) Method for manufacturing boundary object shells
WO2012074950A1 (en) Additive manufacturing methods for improved curl control and sidewall quality
JP6783878B2 (en) Inkjet position adjustment method and 3D printing equipment
JP6711394B2 (en) Information processing device, program, information processing method, modeling system
US11167496B2 (en) 3D printing with multiple build modules
WO2019209326A1 (en) Segmenting object model data at first and second resolutions
WO2022019902A1 (en) Generating an arrangement of objects for three-dimensional printing
JP6781680B2 (en) 3D printing method
US20230191704A1 (en) Generation of a protective structure for a 3d printed object
WO2019190506A1 (en) Generating objects in additive manufacturing
US20200298489A1 (en) Separating element production in additive manufacturing
CN112004654B (en) Packing three-dimensional building bed
EP3980247A1 (en) Method for generating a structure mesh, use of a structure mesh, computer program and computer-readable medium
CN204955461U (en) Three -dimensional printer
CN114375249A (en) Generation of print configuration data for three-dimensional printer
US20220001625A1 (en) Generation of Control Data for Three-Dimensional Printers
WO2019112580A1 (en) Ancillary objects in object generation
US10571894B2 (en) Single piece vehicle control surface and associated systems and methods of manufacture
US20220227058A1 (en) Chamber temperature control

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

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

Country of ref document: EP

Kind code of ref document: A1