WO2022086491A1 - Processing 3d object models based on target heights - Google Patents

Processing 3d object models based on target heights Download PDF

Info

Publication number
WO2022086491A1
WO2022086491A1 PCT/US2020/056329 US2020056329W WO2022086491A1 WO 2022086491 A1 WO2022086491 A1 WO 2022086491A1 US 2020056329 W US2020056329 W US 2020056329W WO 2022086491 A1 WO2022086491 A1 WO 2022086491A1
Authority
WO
WIPO (PCT)
Prior art keywords
height
model
layer thickness
parallel slices
build
Prior art date
Application number
PCT/US2020/056329
Other languages
French (fr)
Inventor
David Alan CHAMPION
Daniel MOSHER
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/056329 priority Critical patent/WO2022086491A1/en
Publication of WO2022086491A1 publication Critical patent/WO2022086491A1/en

Links

Classifications

    • 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
    • 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
    • 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
    • B33Y10/00Processes of additive manufacturing
    • 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
    • B33Y30/00Apparatus for additive manufacturing; Details thereof or accessories therefor
    • 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

Definitions

  • Three-dimensional (3D) print systems may print objects based on models of the 3D objects to be printed.
  • the models are sliced into layers which are formed by the print system to build the 3D object.
  • FIG. 1 is a block diagram of an example print system for processing a model of a 3D object based on a target height.
  • FIG. 2 is a block diagram of another example print system for processing a model of a 3D object based on a target height.
  • FIG. 3 is a block diagram of a machine-readable storage medium storing instructions for processing a model of a 3D object based on a target height.
  • FIG. 4 is a flowchart of an example method of processing a model of a 3D object based on a target height.
  • FIG. 5A is a flowchart of an example method of slicing a model of a 3D object at block 408 of the method of FIG. 4.
  • FIG. 5B is a schematic diagram of the execution of the method of FIG. 5A.
  • FIG. 6A is a flowchart of another example method of slicing a model of a 3D object at block 408 of the method of FIG. 4.
  • FIG. 6B is a schematic diagram of the execution of the method of FIG. 6A.
  • FIG. 7 is a block diagram of another example print system for processing a model of a 3D object based on a target height.
  • FIG. 8 is a flowchart of an example method of updating a build plan for a model of a 3D object during a print operation.
  • FIG. 9 is a schematic diagram of the execution of the method of FIG. 7.
  • FIG. 10 is a flowchart of an example method of slicing a remaining portion of a model at block 812 of the method of FIG. 8.
  • Print systems when processing models of 3D objects to be printed, may slice the models into slices corresponding to layers of build material that is to be selectively solidified by the print system to form a layer of the 3D object. Based on the capabilities of the print system, the slices have a predetermined layer thickness which is constant between all the layers. For print jobs where the target height of the 3D object is not a whole multiple of the predetermined layer thickness, the print system may generate slices to the nearest whole multiple of the predetermined layer thickness to approximate the target height of the 3D object. Such solutions result in generated 3D objects having an inaccurate target height.
  • An example method of processing a model based on a target height determines how to modify the thicknesses of at least some of the object model slices, and their corresponding build material layers, so that the resulting generated 3D object has the target height.
  • the model is sliced into a first set of parallel slices of the object model, each corresponding to the predetermined build material layer thickness and a second set of parallel slices of the object model, each corresponding to a second build material layer thickness.
  • the aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object.
  • the 3D object may be more accurately printed to its target height.
  • FIG. 1 shows a schematic of an example print system 100 for printing a 3D object.
  • the print system 100 includes a build mechanism 102 to build the 3D object and a controller 104 to process a model for the 3D object and to control the build mechanism 102.
  • the build mechanism 102 forms the successive layers of the build material to build the 3D object.
  • the build mechanism 102 may form whole layers of powder which may then be selectively solidified to form a layer of the object, such as by selective laser sintering or melting, electron beam melting, binder jetting, or other powder-bed 3D printing methods.
  • the build mechanism 102 may form the successive layers directly, such as by fused deposition modeling or the like.
  • the build mechanism 102 when operating under default conditions, may form each layer (i.e. , either the powder layer which is then selectively solidified, or the directly formed layer) according to a predetermined layer thickness.
  • the controller 104 may include a central processing unit (CPU), a microcontroller, a microprocessor, a processing core, a field-programmable gate array (FPGA), or similar device capable of executing machine-readable instructions.
  • the controller 104 may cooperate with a memory to execute instructions.
  • Memory may include a non-transitory machine-readable storage medium that may be may electronic, magnetic, optical, or other physical storage device that stores executable instructions.
  • the machine-readable storage medium may include, for example, random access memory (RAM), read-only memory (ROM), eiectrically-erasable programmable read-only memory (EEPROM), flash memory, a storage drive, an optical disc, and the like.
  • the machine-readable storage medium may be encoded with executable instructions.
  • the controller 104 is generally to process a model for the 3D object for the 3D object to be printed.
  • the controller 104 is to slice the model into a parallel slices, such that each slice in the sliced model corresponds to a layer of build material that is to be formed by the build mechanism to build the 3D object.
  • the controller 104 obtains a model of the 3D object and determines whether the target height of the 3D object is a whole multiple of a predetermined layer thickness that Is to be used to generate the 3D object.
  • the controller 104 slices the model into parallel slices, each corresponding to the predetermined layer thickness.
  • the controller 104 slices the model into a first set of slices, each corresponding to the predetermined layer thickness and a second set of slices, each corresponding to a second layer thickness.
  • the aggregate height of the first set of slices and the second set of slices corresponds to the target height of the 3D object.
  • the controller 104 may be independent component of build system 100. That is, the controller 104 may be a computing device to generate the sliced 3D object model, which is independent of a printer including the build mechanism 102. The controller 104 may then send the sliced 3D object model to the printer to form the layers of build material to build the 3D object.
  • the controller 104 may be integrated into the same component (i.e., a printer) with the build mechanism 102. In such examples, the controller 104 may further be to control the build mechanism 102 to build the 3D object according to the sliced model using layers of build material having a height corresponding to a respective height associated with each slice.
  • FIG. 2 a schematic diagram of another example print system 200 is depicted.
  • the print system 200 includes a build mechanism 202, and a controller 204.
  • the build mechanism 210 includes a build platform 208 to be lowered for each successive layer, a spreading mechanism 210 to apply a layer of the build material on the build platform, and a solidifying mechanism 212 to selectively solidify portions of the layer of build material according to the model of the 3D object.
  • the build material may be a powder spread across the build platform 208 and the solidifying mechanism 212 may be a laser, a fusing agent and fusing energy, or other suitable mechanism to selectively solidify portions of the powder layer.
  • the build platform 208 may be lowered by a predetermined distance corresponding to the predetermined layer thickness. That is, each successive layer is formed by the build mechanism 102 having the predetermined layer thickness.
  • the controller 204 is similar to the controller 104 and includes may include a central processing unit (CPU), a microcontroller, a microprocessor, a processing core, a field-programmable gate array (FPGA), or similar device capable of executing machine-readable instructions.
  • the controller 104 may cooperate with a memory to execute instructions.
  • Memory may include a non- transitory machine-readable storage medium that may be may electronic, magnetic, optical, or other physical storage device that stores executable instructions.
  • the machine-readable storage medium may include, for example, random access memory (RAM), read-only memory (ROM), electrically-erasable programmable read-only memory (EEPROM), flash memory, a storage drive, an optical disc, and the like.
  • the machine-readable storage medium may be encoded with executable instructions. In particular, execution of the executable instructions may cause the controller 204 to process a model for the 3D object for the 3D object to be printed and control the subsequent print operation.
  • a machine-readable storage medium 300 storing machine-readable instructions is depicted.
  • the machine-readable instructions are executable by a controller, such as the controller 104 or the controller 204, or another suitable processor.
  • at least a portion of the instructions may be executed by a controller independently of a printer, and the resulting sliced model may be sent to a printer to form the layers of build material to build the 3D object.
  • the instructions may be formed by a controller of the printer to both slice the model of the 3D object and control a build mechanism to form the layers of the build material to build the 3D object.
  • the storage medium 300 stores instructions to cause a controller to process a model of a 3D object in preparation to build the 3D object.
  • the storage medium 300 includes target height evaluation instructions 302, whole multiple slicing instructions 304, non-whole multiple slicing instructions 306, build control instructions 308, and ongoing adjustment instructions 310.
  • the instructions 302, 304, 306, 308, and 310 will be described in conjunction with execution by the controller 204 in the print system 200.
  • the target height evaluation instructions 302 when executed, cause the controller 204 to obtain a target height from the model of the 3D object and determine whether the target height is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object.
  • the whole multiple slicing instructions 304 when executed, cause the controller 204 to slice the model into parallel slices, each corresponding to the predetermined layer thickness, when the target height is a whole multiple of the predetermined layer thickness.
  • an aggregate height of the first set of parallel slices of the object model and the second set of parallel slices of the object model corresponds to the target height of the 3D object.
  • the controller 104 may control the spreading mechanism 210 to spread a layer of the build material having the predetermined layer thickness when the layer corresponds to a slice in the first set, and having the second layer thickness when the layer corresponds to a slice in the second set.
  • the controller 204 may then control the solidifying mechanism 212 to selectively solidify portions of the layer of build material according to a cross-section of the 3D object defined in the model.
  • the ongoing adjustment instructions 310 when executed, cause the controller 204 to monitor an ongoing print operation to obtain a current height of the 3D object and compare it to an expected height. If the current height and the expected height, the controller 204 may slice a remaining portion of the model into parallel slices such that an aggregate height of the slices corresponds to a remaining target height.
  • FIG. 4 shows a flowchart of an example method 400 of processing a model of a 3D object.
  • the performance of the method 400 is described in conjunction with its performance in the system 200, and in particular by the controller 204, with reference to the components in the system 200. In other examples, the method 400 may be performed by other suitable systems.
  • the controller 204 determines a target height of the 3D object.
  • the target height may be defined in the model of the 3D object.
  • the controller 204 determines whether the target height of the 3D object is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object.
  • the print system 200 may define a predetermined layer thickness which is normally used to print 3D objects.
  • the predetermined layer thickness may correspond, for example, to a distance by which the build platform 208 is to be lowered according to default operating conditions of the build mechanism 202.
  • the controller 204 may therefore determine whether the target height is evenly divisible by the predetermined layer thickness - i.e., whether slicing the model into slices having a slice thickness corresponding to the predetermined build material layer thickness would result in an integer or whole number of slices of the object model.
  • the method 400 proceeds to block 406.
  • the controller 204 slices the model into parallel slices, each parallel slice corresponding to the predetermined layer thickness. That is, since slicing the model into slices having a slice thickness corresponding to the predetermined build material layer thickness results in a whole number of slices, building the 3D object with layers having the predetermined build material layer thickness will result in the 3D object having the target height, and hence no adjustment of the layer or slice thickness is performed.
  • the method 400 proceeds to block 408.
  • the controller 204 slices the model into a first set of parallel slices of the object model and a second set of parallel slices of the object model.
  • each slice in the first set of parallel slices corresponds to the predetermined layer thickness
  • each slice in the second set of parallel slices corresponds to a second layer thickness, different from the predetermined layer thickness. That is, each slice in the first set of parallel slices of the object model has a slice thickness corresponding to the predetermined build material layer thickness.
  • each slice in the second set of parallel slices of the object model has a slice thickness corresponding to a second build material layer thickness different from the predetermined build material layer thickness.
  • the aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object.
  • the first set and the second set of parallel slices need not be continuous; for example, slices from the first and second sets may be interwoven with one another in the sliced model.
  • the controller 204 may define the first set of parallel slices to be empty. That is, in some examples, the adjustments in slice thickness may be spread across all the slices in the model. Accordingly, the controller 204 may determine a suitable second build material layer thickness of which the target height is a whole multiple and slice the model into parallel slices corresponding to the second build material layer thickness.
  • the second layer thickness may be restricted to be within a threshold percentage of the predetermined layer thickness, based on practical considerations and physical capability of forming layers of varying layer thicknesses by the build mechanism 202.
  • controller 204 may slice the model Into further sets of parallel slices, each set having slices corresponding to further build material layer thicknesses.
  • the aggregate height of all the sets of parallel slices of the object model corresponds to the target height of the 3D object.
  • the controller 104 or 204 may select the first set and the second set based, at least in part on a z-axis or vertical resolution, or level of detail, of the model. For example, referring to FIG. 5A, a flowchart of an example method 500 of selecting the sets of parallel slices at block 408 is depicted.
  • the controller 204 identifies one or more regions of the model having a high level of detail in the z-axis.
  • a region may be defined to have a high level of detail in the z-axis when subsequent cross sections of the model, where the cross sections are taken perpendicular to the z-axis (also referred to as a z-axis cross section), define a relatively high rate of change over the z-axis.
  • regions with a high level of detail may include small feature sizes or a high rate or frequency of change of geometry over the z-axis.
  • the rate of change may be determined to be high, in some examples, relative to the rates of change of the z-axis cross section of other regions of the model (e.g., regions having rates of change within the top 30% or other threshold percentile). In other examples, the rate of change may be determined to be high if the rate of change within a given region exceeds a predefined threshold value.
  • the controller 204 selects the first and second sets of parallel slices of the object model.
  • the controller 204 selects the second set of parallel slices to correspond to at least a portion of the high- resolution region identified at block 502.
  • the controller 204 may then select the first set of parallel slices to correspond to the remainder of the model.
  • the controller 204 defines the slice thickness for the slices In the second set of parallel slices to be thinner than the predetermined layer thickness. That is, at regions with a high resolution in the z-axis, the controller 204 may define slices having a thinner slice thickness. The thinner slice thickness may then correspond to a thinner build material layer thickness of the layers of build material formed by the build mechanism 202, and hence allows the print system 200 to more accurately render the variability in cross- sectional areas, the small features, and the high level of detail at the regions having a high level of detail.
  • blocks 504 and 506 may be performed simultaneously and in consideration of one another.
  • the second set of parallel slices of the model may be selected to correspond with a larger or smaller portion of the region having a high level of detail.
  • a model 510 of a 3D-printed house is depicted.
  • the controller 204 may process the model 510 and determine that the target height 512 of the house is not a whole multiple of a predetermined layer thickness 514, as depicted by the guide 516. Accordingly, the controller 204 may slice the model into a first set 518-1 of parallel slices, each corresponding to the predetermined layer thickness 514, and a second set 518- 2 of parallel slices, each corresponding to a second layer thickness 520.
  • the controller 204 may identify the roof region of the house as being a region having a high level of detail in the z-axis.
  • the cross sections or geometry of the roof region exhibit a relatively high rate of change in the z-axis (i.e., as the cross sections move vertically).
  • the second layer thickness 520 of the layers of build material that is to be selectively solidified by the print system to form a layer of the 3D object is thinner than the predetermined layer thickness 514 of the layers of build material to allow the roof region to be more accurately printed.
  • FIG. 6A a flowchart of another example method 600 of selecting the sets of parallel slices at block 408 is depicted.
  • the controller 204 identifies one or more regions of the model having a low level of detail in the z-axis.
  • a region may be defined to have a low level of detail in the z-axis when subsequent cross sections of the model define a relatively low rate of change over the z-axis.
  • regions with a low level of detail may include large features or features which exhibit a low rate or frequency of change of geometry over the z-axis.
  • the rate of change may be determined to be low relative to the rates of change of the z-axis cross section of other regions of the model (e.g., regions having rates of change within the bottom 30% or other threshold percentile). In other examples, the rate of change may be determined to be low if the rate of change within a given region is below a predefined threshold value.
  • the controller 204 selects the first and second sets of parallel slices of the object model.
  • the controller 204 selects the second set of parallel slices to correspond to at least a portion of the high- resolution region identified at block 602.
  • the controller 204 may then select the first set of parallel slices to correspond to the remainder of the model.
  • the controller 204 defines the slice thickness for the slices in the second set of parallel slices to be thicker than the predetermined layer thickness. That is, at regions with a low resolution in the z-axis, the controller 204 may define slices having a thicker slice thickness. The thinner slice thickness may then correspond to a thicker build material layer thickness of the layers of build material formed by the build mechanism 202, for example to allow the aggregate height to reach the target height without compromising accuracy at of the 3D print operation at regions having a high level of detail. [0046] In some examples, blocks 604 and 606 may be performed simultaneously and in consideration of one another. For example, in order to have the second build material layer thickness be within the threshold percentage of the predetermined build material layer thickness, the second set of parallel slices of the object model may be selected to correspond with a larger or smaller portion of the region having a low level of detail.
  • the controller 204 may consider regions having a high level of detail and regions having a low level of detail. For example, the controller 204 may prioritize selecting the second set of parallel slices to correspond to high-resolution regions to provide more accuracy at the high-resolution regions.
  • the controller 204 may additionally execute both the methods 500 and 600 to obtain a set having the predetermined layer thickness, a set having a second layer thickness thinner than the predetermined layer thickness, and a set having a third layer thickness thicker than the predetermined layer thickness, for example to facilitate matching the aggregate height of the slices to the target height.
  • a model 610 of a 3D-printed house is depicted.
  • the controller 204 may process the model 610 and determine that the target height 612 of the house Is not a whole multiple of a predetermined layer thickness 614, as depicted by the guide 616. Accordingly, the controller 204 may slice the model into a first set 618-1 of parallel slices, each corresponding to the predetermined layer thickness 614, and a second set 618- 2 of parallel slices, each corresponding to a second layer thickness 620.
  • the controller 204 may identify the body region of the house as being a region having a low level of detail in the z-axis.
  • FIG. 7 depicts a schematic diagram of an example print system 700.
  • the print system 700 includes the build mechanism 202, the controller 204, and a sensor 702.
  • the sensor 702 is to monitor a profile of a partially completed 3D object to detect a current actual height of the partially completed 3D object.
  • the sensor 702 may include a stereoscopic imager, an encoder integrated with the spreading mechanism 210, or another suitable sensor to detect the height of the 3D object during the print operation.
  • FIG. 8 depicts a flowchart of an example method 800 of updating a build plan for a 3D object during a print operation.
  • the method 800 will be described in conjunction with its performance in the print system 700, and in particular by the controller 204. In other examples, the method 800 may be performed by other suitable systems.
  • the controller 204 obtains a current height of the 3D object. That is, the controller 204 obtains the height of the partially completed 3D object during the print operation. Specifically, the controller 204 may obtain the current height from the sensor 702 monitoring the surface profile of the 3D object during the print operation.
  • the controller 204 determines an expected height of the 3D object based on target thicknesses of applied layers in the build plan.
  • the build plan may be based on the sliced model (e.g., as processed and sliced by the method 400, for example). Accordingly, each layer in the build plan has a target thickness corresponding to the thickness of the corresponding slice in the sliced model.
  • the controller 204 in using the build plan to control the build mechanism 202 to form the layers, may track which layers in the build plan have been applied. Accordingly, the expected height may be a sum of the target thicknesses of the applied layers.
  • the controller 204 determines whether the current height of the 3D object obtained at block 802 matches the expected height of the 3D object determined at block 804. [0054] If the determination at block 806 is affirmative (i.e., the controller 204 determines that the current height matches the expected height), the method 800 proceeds to block 808, and the controller 204 continues with the print operation according to the build plan. The method 800 may return to block 802 to continue monitoring the ongoing print operation.
  • the method 800 proceeds to block 810.
  • the controller 204 determines a remaining target height of the 3D object as a difference between a target height of the 3D object and the current height. That is, the target height may be obtained from the model of the 3D object. The remaining target height therefore represents the height of the 3D object remaining to build in order to reach the target height.
  • a partially completed 3D house 900 is depicted.
  • the partially completed house 900 has a current height 902, and, based on the build plan for the house 900, an expected height 904.
  • the current height 902 and the expected height 904 do not match.
  • the current height 902 may be smaller than the expected height 904.
  • a controller may determine a remaining target height 906 of the house 900 as a difference between a target height 908 for the house 900 and the current height 902.
  • the controller may then slice a remaining portion 910 into parallel slices such that the aggregate height of the parallel slices corresponds to the remaining target height 906, as described below.
  • the controller 204 slices a remaining portion of the model into parallel slices such that an aggregate height of the parallel slices corresponds to the remaining target height.
  • the controller 204 may first determine a remaining portion of the model.
  • the remaining portion of the model may correspond, for example, to the top-most portion of the model corresponding to the remaining target height. That is, the current height represents the bottom-most portion of the model, and hence the remaining portion of the model corresponds to the top-most portion of the model, less the current height.
  • the controller 204 is therefore to slice the remaining portion of the model into parallel slices such that an aggregate height of the parallel slices of the model corresponds to the remaining target height, to correct the build plan to build the 3D object according to the target height of the model.
  • the controller 204 repeat an iteration of the method 400 to slice the remaining portion of the model, using the remaining target height as the target height at block 402. That is, the controller 204 may slice the remaining portion into a first set of parallel slices, each corresponding to a predetermined layer thickness, and a second set of parallel slices, each corresponding to a second layer thickness.
  • the aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the remaining target height.
  • the controller 204 may update the thicknesses of the layers remaining in the build plan. For example, referring to FIG. 10, a flowchart of an example method 1000 of slicing the remaining portion is depicted.
  • the controller 204 determines a number of remaining layers to apply, according to the original build plan.
  • the controller 204 computes an average layer thickness change.
  • the controller 204 may first compute a height difference between the current height and the expected height.
  • the height difference represents the current error in building the 3D object.
  • the controller 204 may account for the current error across each of the layers in the remaining portion, in order to reduce the change in thickness for each layer individually.
  • the average layer thickness change may be computed as the ratio of the height difference to the number of remaining layers to apply.
  • the controller 204 applies the average layer thickness to each of the remaining layers in the build plan.
  • each of the remaining layers in the build plan may have an updated layer thickness.
  • the remaining layers with the updated layer thicknesses therefore form the parallel slices in the remaining portion of the model.
  • the aggregate height of the parallel slices in the remaining portion corresponds to the remaining target height.
  • the controller 204 may additionally compute an updated cross-section based on the updated layer thickness and the model of the 3D object. Specifically, since each of the remaining layers has its thickness updated, the z-axis start value for each layer (i.e., the z-coordinate at which each layer begins) may also change according to the updated thicknesses of the layers lower than the given layer. Accordingly, the cross sections of each of the remaining layers may change based on the profile of the 3D object.
  • the controller 204 may additionally compute an updated start layer for a pending component of the 3D object. Specifically, since each of the remaining layers has its thickness updated, the z-axis start value for each layer (i.e., the z-coordinate at which each layer begins) may also change according to the updated thicknesses of the layers lower than the given layer. Accordingly, a pending component designated to start at a specific z-coordinate value with a certain layer may be adjusted to start at a previous or following layer, based on the new z-axis start values for each layer.
  • an example print system and method for processing models according to target heights is provided.
  • the model is sliced into a first set of parallel slices each corresponding to the predetermined build material layer thickness and a second set of parallel slices each corresponding to a second build material layer thickness.
  • the aggregate height of the sets of parallel slices of the object model corresponds to the target height.
  • the slices may be selected based on a z-axis level of detail of the model, for example to provide greater accuracy in regions having a high level of detail.
  • the height of a partially completed 3D object may be monitored during a print operation, and the slicing repeated for a remaining portion of the model to maintain accuracy of the print job to the target height defined in the model.

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)

Abstract

An example method for processing a model for a 3D object to be printed includes: determining a target height of the 3D object; determining whether the target height of the 3D object is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object; when the target height is a whole multiple of the predetermined layer thickness, slicing the model into parallel slices, each corresponding to the predetermined layer thickness; and when the target height is not a whole multiple of the predetermined layer thickness, slicing the model into: a first set of parallel slices, each corresponding to the predetermined layer thickness; and a second set of parallel slices, each corresponding to a second layer thickness; wherein an aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object.

Description

PROCESSING 3D OBJECT MODELS BASED ON TARGET HEIGHTS
BACKGROUND
[0001 ] Three-dimensional (3D) print systems may print objects based on models of the 3D objects to be printed. The models are sliced into layers which are formed by the print system to build the 3D object.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 is a block diagram of an example print system for processing a model of a 3D object based on a target height.
[0003] FIG. 2 is a block diagram of another example print system for processing a model of a 3D object based on a target height.
[0004] FIG. 3 is a block diagram of a machine-readable storage medium storing instructions for processing a model of a 3D object based on a target height.
[0005] FIG. 4 is a flowchart of an example method of processing a model of a 3D object based on a target height.
[0006] FIG. 5A is a flowchart of an example method of slicing a model of a 3D object at block 408 of the method of FIG. 4.
[0007] FIG. 5B is a schematic diagram of the execution of the method of FIG. 5A.
[0008] FIG. 6A is a flowchart of another example method of slicing a model of a 3D object at block 408 of the method of FIG. 4. [0009] FIG. 6B is a schematic diagram of the execution of the method of FIG. 6A.
[0010] FIG. 7 is a block diagram of another example print system for processing a model of a 3D object based on a target height.
[0011 ] FIG. 8 is a flowchart of an example method of updating a build plan for a model of a 3D object during a print operation.
[0012] FIG. 9 is a schematic diagram of the execution of the method of FIG. 7.
[0013] FIG. 10 is a flowchart of an example method of slicing a remaining portion of a model at block 812 of the method of FIG. 8.
DETAILED DESCRIPTION
[0014] Print systems, when processing models of 3D objects to be printed, may slice the models into slices corresponding to layers of build material that is to be selectively solidified by the print system to form a layer of the 3D object. Based on the capabilities of the print system, the slices have a predetermined layer thickness which is constant between all the layers. For print jobs where the target height of the 3D object is not a whole multiple of the predetermined layer thickness, the print system may generate slices to the nearest whole multiple of the predetermined layer thickness to approximate the target height of the 3D object. Such solutions result in generated 3D objects having an inaccurate target height.
[0015] An example method of processing a model based on a target height determines how to modify the thicknesses of at least some of the object model slices, and their corresponding build material layers, so that the resulting generated 3D object has the target height. In particular, when the target height is not a whole multiple of the predetermined layer thickness, the model is sliced into a first set of parallel slices of the object model, each corresponding to the predetermined build material layer thickness and a second set of parallel slices of the object model, each corresponding to a second build material layer thickness. The aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object. Thus, the 3D object may be more accurately printed to its target height.
[0016] FIG. 1 shows a schematic of an example print system 100 for printing a 3D object. The print system 100 includes a build mechanism 102 to build the 3D object and a controller 104 to process a model for the 3D object and to control the build mechanism 102.
[0017] The build mechanism 102 forms the successive layers of the build material to build the 3D object. For example, the build mechanism 102 may form whole layers of powder which may then be selectively solidified to form a layer of the object, such as by selective laser sintering or melting, electron beam melting, binder jetting, or other powder-bed 3D printing methods. In other examples the build mechanism 102 may form the successive layers directly, such as by fused deposition modeling or the like. In particular, the build mechanism 102, when operating under default conditions, may form each layer (i.e. , either the powder layer which is then selectively solidified, or the directly formed layer) according to a predetermined layer thickness.
[0018] The controller 104 may include a central processing unit (CPU), a microcontroller, a microprocessor, a processing core, a field-programmable gate array (FPGA), or similar device capable of executing machine-readable instructions. The controller 104 may cooperate with a memory to execute instructions. Memory may include a non-transitory machine-readable storage medium that may be may electronic, magnetic, optical, or other physical storage device that stores executable instructions. The machine-readable storage medium may include, for example, random access memory (RAM), read-only memory (ROM), eiectrically-erasable programmable read-only memory (EEPROM), flash memory, a storage drive, an optical disc, and the like. The machine-readable storage medium may be encoded with executable instructions. [0019] The controller 104 is generally to process a model for the 3D object for the 3D object to be printed. In particular, the controller 104 is to slice the model into a parallel slices, such that each slice in the sliced model corresponds to a layer of build material that is to be formed by the build mechanism to build the 3D object. To do so, the controller 104 obtains a model of the 3D object and determines whether the target height of the 3D object is a whole multiple of a predetermined layer thickness that Is to be used to generate the 3D object. When the target height is a whole multiple of the predetermined layer thickness, the controller 104 slices the model into parallel slices, each corresponding to the predetermined layer thickness. When the target height is not a whole multiple of the predetermined layer thickness, the controller 104 slices the model into a first set of slices, each corresponding to the predetermined layer thickness and a second set of slices, each corresponding to a second layer thickness. In particular, the aggregate height of the first set of slices and the second set of slices corresponds to the target height of the 3D object. In some examples, the controller 104 may be independent component of build system 100. That is, the controller 104 may be a computing device to generate the sliced 3D object model, which is independent of a printer including the build mechanism 102. The controller 104 may then send the sliced 3D object model to the printer to form the layers of build material to build the 3D object.
[0020] In other examples, the controller 104 may be integrated into the same component (i.e., a printer) with the build mechanism 102. In such examples, the controller 104 may further be to control the build mechanism 102 to build the 3D object according to the sliced model using layers of build material having a height corresponding to a respective height associated with each slice.
[0021 ] Referring to FIG. 2, a schematic diagram of another example print system 200 is depicted. The print system 200 includes a build mechanism 202, and a controller 204.
[0022] The build mechanism 210 includes a build platform 208 to be lowered for each successive layer, a spreading mechanism 210 to apply a layer of the build material on the build platform, and a solidifying mechanism 212 to selectively solidify portions of the layer of build material according to the model of the 3D object. For example, the build material may be a powder spread across the build platform 208 and the solidifying mechanism 212 may be a laser, a fusing agent and fusing energy, or other suitable mechanism to selectively solidify portions of the powder layer. In particular, the build platform 208 may be lowered by a predetermined distance corresponding to the predetermined layer thickness. That is, each successive layer is formed by the build mechanism 102 having the predetermined layer thickness.
[0023] The controller 204 is similar to the controller 104 and includes may include a central processing unit (CPU), a microcontroller, a microprocessor, a processing core, a field-programmable gate array (FPGA), or similar device capable of executing machine-readable instructions. The controller 104 may cooperate with a memory to execute instructions. Memory may include a non- transitory machine-readable storage medium that may be may electronic, magnetic, optical, or other physical storage device that stores executable instructions. The machine-readable storage medium may include, for example, random access memory (RAM), read-only memory (ROM), electrically-erasable programmable read-only memory (EEPROM), flash memory, a storage drive, an optical disc, and the like. The machine-readable storage medium may be encoded with executable instructions. In particular, execution of the executable instructions may cause the controller 204 to process a model for the 3D object for the 3D object to be printed and control the subsequent print operation.
[0024] Referring to FIG. 3, a machine-readable storage medium 300 storing machine-readable instructions is depicted. The machine-readable instructions are executable by a controller, such as the controller 104 or the controller 204, or another suitable processor. In particular, at least a portion of the instructions may be executed by a controller independently of a printer, and the resulting sliced model may be sent to a printer to form the layers of build material to build the 3D object. In other examples, the instructions may be formed by a controller of the printer to both slice the model of the 3D object and control a build mechanism to form the layers of the build material to build the 3D object. Generally, the storage medium 300 stores instructions to cause a controller to process a model of a 3D object in preparation to build the 3D object.
Specifically, the storage medium 300 includes target height evaluation instructions 302, whole multiple slicing instructions 304, non-whole multiple slicing instructions 306, build control instructions 308, and ongoing adjustment instructions 310. The instructions 302, 304, 306, 308, and 310 will be described in conjunction with execution by the controller 204 in the print system 200.
[0025] The target height evaluation instructions 302, when executed, cause the controller 204 to obtain a target height from the model of the 3D object and determine whether the target height is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object.
[0026] The whole multiple slicing instructions 304, when executed, cause the controller 204 to slice the model into parallel slices, each corresponding to the predetermined layer thickness, when the target height is a whole multiple of the predetermined layer thickness.
[0027] The non-whole multiple slicing instructions 306, when executed, cause the controller 204 to slice the model into a first set of parallel slices, each corresponding to the predetermined layer thickness, and a second set of parallel slices, each corresponding to a second layer thickness. Specifically, an aggregate height of the first set of parallel slices of the object model and the second set of parallel slices of the object model corresponds to the target height of the 3D object.
[0028] The build control instructions 308, when executed, cause the controller 204 to control the build mechanism to form the successive layers of the build material to build the 3D object according to the sliced model. That is, the layers of build material have build material layer thicknesses corresponding to a slice in the sliced model. For example, the controller 104 may control the spreading mechanism 210 to spread a layer of the build material having the predetermined layer thickness when the layer corresponds to a slice in the first set, and having the second layer thickness when the layer corresponds to a slice in the second set. The controller 204 may then control the solidifying mechanism 212 to selectively solidify portions of the layer of build material according to a cross-section of the 3D object defined in the model.
[0029] The ongoing adjustment instructions 310, when executed, cause the controller 204 to monitor an ongoing print operation to obtain a current height of the 3D object and compare it to an expected height. If the current height and the expected height, the controller 204 may slice a remaining portion of the model into parallel slices such that an aggregate height of the slices corresponds to a remaining target height.
[0030] FIG. 4 shows a flowchart of an example method 400 of processing a model of a 3D object. The performance of the method 400 is described in conjunction with its performance in the system 200, and in particular by the controller 204, with reference to the components in the system 200. In other examples, the method 400 may be performed by other suitable systems.
[0031 ] At block 402, the controller 204 determines a target height of the 3D object. For example, the target height may be defined in the model of the 3D object.
[0032] At block 404, the controller 204 determines whether the target height of the 3D object is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object. For example, the print system 200 may define a predetermined layer thickness which is normally used to print 3D objects. The predetermined layer thickness may correspond, for example, to a distance by which the build platform 208 is to be lowered according to default operating conditions of the build mechanism 202. The controller 204 may therefore determine whether the target height is evenly divisible by the predetermined layer thickness - i.e., whether slicing the model into slices having a slice thickness corresponding to the predetermined build material layer thickness would result in an integer or whole number of slices of the object model. [0033] When the determination at block 404 is affirmative (i.e., when the target height is a whole multiple of the predetermined layer thickness), the method 400 proceeds to block 406. At block 406, the controller 204 slices the model into parallel slices, each parallel slice corresponding to the predetermined layer thickness. That is, since slicing the model into slices having a slice thickness corresponding to the predetermined build material layer thickness results in a whole number of slices, building the 3D object with layers having the predetermined build material layer thickness will result in the 3D object having the target height, and hence no adjustment of the layer or slice thickness is performed.
[0034] When the determination at block 406 is negative (i.e., when the target height is not a whole multiple of the predetermined layer thickness), the method 400 proceeds to block 408. At block 408, the controller 204 slices the model into a first set of parallel slices of the object model and a second set of parallel slices of the object model. In particular, each slice in the first set of parallel slices corresponds to the predetermined layer thickness, while each slice in the second set of parallel slices corresponds to a second layer thickness, different from the predetermined layer thickness. That is, each slice in the first set of parallel slices of the object model has a slice thickness corresponding to the predetermined build material layer thickness. Further, each slice in the second set of parallel slices of the object model has a slice thickness corresponding to a second build material layer thickness different from the predetermined build material layer thickness. The aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object.
[0035] In some examples, the first set and the second set of parallel slices need not be continuous; for example, slices from the first and second sets may be interwoven with one another in the sliced model. Further, in some examples, the controller 204 may define the first set of parallel slices to be empty. That is, in some examples, the adjustments in slice thickness may be spread across all the slices in the model. Accordingly, the controller 204 may determine a suitable second build material layer thickness of which the target height is a whole multiple and slice the model into parallel slices corresponding to the second build material layer thickness. In some examples, the second layer thickness may be restricted to be within a threshold percentage of the predetermined layer thickness, based on practical considerations and physical capability of forming layers of varying layer thicknesses by the build mechanism 202. Further, in other examples, the controller 204 may slice the model Into further sets of parallel slices, each set having slices corresponding to further build material layer thicknesses. In such examples, the aggregate height of all the sets of parallel slices of the object model corresponds to the target height of the 3D object.
[0036] In some examples, the controller 104 or 204 may select the first set and the second set based, at least in part on a z-axis or vertical resolution, or level of detail, of the model. For example, referring to FIG. 5A, a flowchart of an example method 500 of selecting the sets of parallel slices at block 408 is depicted.
[0037] At block 502, the controller 204 identifies one or more regions of the model having a high level of detail in the z-axis. A region may be defined to have a high level of detail in the z-axis when subsequent cross sections of the model, where the cross sections are taken perpendicular to the z-axis (also referred to as a z-axis cross section), define a relatively high rate of change over the z-axis. For example, regions with a high level of detail may include small feature sizes or a high rate or frequency of change of geometry over the z-axis. The rate of change may be determined to be high, in some examples, relative to the rates of change of the z-axis cross section of other regions of the model (e.g., regions having rates of change within the top 30% or other threshold percentile). In other examples, the rate of change may be determined to be high if the rate of change within a given region exceeds a predefined threshold value.
[0038] At block 504, the controller 204 selects the first and second sets of parallel slices of the object model. In particular, the controller 204 selects the second set of parallel slices to correspond to at least a portion of the high- resolution region identified at block 502. The controller 204 may then select the first set of parallel slices to correspond to the remainder of the model.
[0039] At block 506, the controller 204 defines the slice thickness for the slices In the second set of parallel slices to be thinner than the predetermined layer thickness. That is, at regions with a high resolution in the z-axis, the controller 204 may define slices having a thinner slice thickness. The thinner slice thickness may then correspond to a thinner build material layer thickness of the layers of build material formed by the build mechanism 202, and hence allows the print system 200 to more accurately render the variability in cross- sectional areas, the small features, and the high level of detail at the regions having a high level of detail.
[0040] As will be appreciated, in some examples, blocks 504 and 506 may be performed simultaneously and in consideration of one another. For example, in order to have the second build material layer thickness be within the threshold percentage of the predetermined build material layer thickness, the second set of parallel slices of the model may be selected to correspond with a larger or smaller portion of the region having a high level of detail.
[0041 ] For example, referring to FIG. 5B, a model 510 of a 3D-printed house is depicted. The controller 204 may process the model 510 and determine that the target height 512 of the house is not a whole multiple of a predetermined layer thickness 514, as depicted by the guide 516. Accordingly, the controller 204 may slice the model into a first set 518-1 of parallel slices, each corresponding to the predetermined layer thickness 514, and a second set 518- 2 of parallel slices, each corresponding to a second layer thickness 520. In particular, the controller 204 may identify the roof region of the house as being a region having a high level of detail in the z-axis. That is, as the roof is slanted, the cross sections or geometry of the roof region exhibit a relatively high rate of change in the z-axis (i.e., as the cross sections move vertically). Thus, the second layer thickness 520 of the layers of build material that is to be selectively solidified by the print system to form a layer of the 3D object is thinner than the predetermined layer thickness 514 of the layers of build material to allow the roof region to be more accurately printed.
[0042] Referring to FIG. 6A, a flowchart of another example method 600 of selecting the sets of parallel slices at block 408 is depicted.
[0043] At block 602, the controller 204 identifies one or more regions of the model having a low level of detail in the z-axis. A region may be defined to have a low level of detail in the z-axis when subsequent cross sections of the model define a relatively low rate of change over the z-axis. For example, regions with a low level of detail may include large features or features which exhibit a low rate or frequency of change of geometry over the z-axis. The rate of change may be determined to be low relative to the rates of change of the z-axis cross section of other regions of the model (e.g., regions having rates of change within the bottom 30% or other threshold percentile). In other examples, the rate of change may be determined to be low if the rate of change within a given region is below a predefined threshold value.
[0044] At block 604, the controller 204 selects the first and second sets of parallel slices of the object model. In particular, the controller 204 selects the second set of parallel slices to correspond to at least a portion of the high- resolution region identified at block 602. The controller 204 may then select the first set of parallel slices to correspond to the remainder of the model.
[0045] At block 606, the controller 204 defines the slice thickness for the slices in the second set of parallel slices to be thicker than the predetermined layer thickness. That is, at regions with a low resolution in the z-axis, the controller 204 may define slices having a thicker slice thickness. The thinner slice thickness may then correspond to a thicker build material layer thickness of the layers of build material formed by the build mechanism 202, for example to allow the aggregate height to reach the target height without compromising accuracy at of the 3D print operation at regions having a high level of detail. [0046] In some examples, blocks 604 and 606 may be performed simultaneously and in consideration of one another. For example, in order to have the second build material layer thickness be within the threshold percentage of the predetermined build material layer thickness, the second set of parallel slices of the object model may be selected to correspond with a larger or smaller portion of the region having a low level of detail.
[0047] In some examples, at block 408, the controller 204 may consider regions having a high level of detail and regions having a low level of detail. For example, the controller 204 may prioritize selecting the second set of parallel slices to correspond to high-resolution regions to provide more accuracy at the high-resolution regions. The controller 204 may additionally execute both the methods 500 and 600 to obtain a set having the predetermined layer thickness, a set having a second layer thickness thinner than the predetermined layer thickness, and a set having a third layer thickness thicker than the predetermined layer thickness, for example to facilitate matching the aggregate height of the slices to the target height.
[0048] For example, referring to FIG. 6B, a model 610 of a 3D-printed house is depicted. The controller 204 may process the model 610 and determine that the target height 612 of the house Is not a whole multiple of a predetermined layer thickness 614, as depicted by the guide 616. Accordingly, the controller 204 may slice the model into a first set 618-1 of parallel slices, each corresponding to the predetermined layer thickness 614, and a second set 618- 2 of parallel slices, each corresponding to a second layer thickness 620. In particular, the controller 204 may identify the body region of the house as being a region having a low level of detail in the z-axis. That is, as the body of the house Is generally vertical, the cross sections or geometry of the body region exhibit a relatively low rate of change in the z-axis (i.e., as the cross sections move vertically). Thus, the second layer thickness 620 of the layers of build material that is to be selectively solidified by the print system to form a layer of the 3D object is thicker than the predetermined layer thickness 614 of the layers of build material to allow the roof region to be more accurately printed. [0049] FIG. 7 depicts a schematic diagram of an example print system 700. The print system 700 includes the build mechanism 202, the controller 204, and a sensor 702. The sensor 702 is to monitor a profile of a partially completed 3D object to detect a current actual height of the partially completed 3D object. For example, the sensor 702 may include a stereoscopic imager, an encoder integrated with the spreading mechanism 210, or another suitable sensor to detect the height of the 3D object during the print operation.
[0050] FIG. 8 depicts a flowchart of an example method 800 of updating a build plan for a 3D object during a print operation. The method 800 will be described in conjunction with its performance in the print system 700, and in particular by the controller 204. In other examples, the method 800 may be performed by other suitable systems.
[0051 ] At block 802, the controller 204 obtains a current height of the 3D object. That is, the controller 204 obtains the height of the partially completed 3D object during the print operation. Specifically, the controller 204 may obtain the current height from the sensor 702 monitoring the surface profile of the 3D object during the print operation.
[0052] At block 804, the controller 204 determines an expected height of the 3D object based on target thicknesses of applied layers in the build plan. For example, the build plan may be based on the sliced model (e.g., as processed and sliced by the method 400, for example). Accordingly, each layer in the build plan has a target thickness corresponding to the thickness of the corresponding slice in the sliced model. The controller 204, in using the build plan to control the build mechanism 202 to form the layers, may track which layers in the build plan have been applied. Accordingly, the expected height may be a sum of the target thicknesses of the applied layers.
[0053] At block 806, the controller 204 determines whether the current height of the 3D object obtained at block 802 matches the expected height of the 3D object determined at block 804. [0054] If the determination at block 806 is affirmative (i.e., the controller 204 determines that the current height matches the expected height), the method 800 proceeds to block 808, and the controller 204 continues with the print operation according to the build plan. The method 800 may return to block 802 to continue monitoring the ongoing print operation.
[0055] If the determination at block 808 is negative (i.e., the controller 204 determines that the current height does not match the expected height), the method 800 proceeds to block 810. At block 810, the controller 204 determines a remaining target height of the 3D object as a difference between a target height of the 3D object and the current height. That is, the target height may be obtained from the model of the 3D object. The remaining target height therefore represents the height of the 3D object remaining to build in order to reach the target height.
[0056] For example, referring to FIG. 9, a partially completed 3D house 900 is depicted. The partially completed house 900 has a current height 902, and, based on the build plan for the house 900, an expected height 904. In the present example, the current height 902 and the expected height 904 do not match. For example, based on error rates of the build mechanism building the house 900, the current height 902 may be smaller than the expected height 904. Accordingly, during the method 800, a controller may determine a remaining target height 906 of the house 900 as a difference between a target height 908 for the house 900 and the current height 902. The controller may then slice a remaining portion 910 into parallel slices such that the aggregate height of the parallel slices corresponds to the remaining target height 906, as described below.
[0057] Returning to FIG. 8, at block 812, the controller 204 slices a remaining portion of the model into parallel slices such that an aggregate height of the parallel slices corresponds to the remaining target height. In particular, the controller 204 may first determine a remaining portion of the model. The remaining portion of the model may correspond, for example, to the top-most portion of the model corresponding to the remaining target height. That is, the current height represents the bottom-most portion of the model, and hence the remaining portion of the model corresponds to the top-most portion of the model, less the current height.
[0058] The controller 204 is therefore to slice the remaining portion of the model into parallel slices such that an aggregate height of the parallel slices of the model corresponds to the remaining target height, to correct the build plan to build the 3D object according to the target height of the model.
[0059] In some examples, the controller 204 repeat an iteration of the method 400 to slice the remaining portion of the model, using the remaining target height as the target height at block 402. That is, the controller 204 may slice the remaining portion into a first set of parallel slices, each corresponding to a predetermined layer thickness, and a second set of parallel slices, each corresponding to a second layer thickness. In particular, the aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the remaining target height.
[0060] In other examples, rather than re-slicing the remaining portion of the model from scratch, the controller 204 may update the thicknesses of the layers remaining in the build plan. For example, referring to FIG. 10, a flowchart of an example method 1000 of slicing the remaining portion is depicted.
[0061 ] At block 1002, the controller 204 determines a number of remaining layers to apply, according to the original build plan.
[0062] At block 1004, the controller 204 computes an average layer thickness change. In particular, the controller 204 may first compute a height difference between the current height and the expected height. The height difference represents the current error in building the 3D object. In particular, the controller 204 may account for the current error across each of the layers in the remaining portion, in order to reduce the change in thickness for each layer individually. Thus, the average layer thickness change may be computed as the ratio of the height difference to the number of remaining layers to apply.
[0063] At block 1006, the controller 204 applies the average layer thickness to each of the remaining layers in the build plan. Thus, each of the remaining layers in the build plan may have an updated layer thickness. The remaining layers with the updated layer thicknesses therefore form the parallel slices in the remaining portion of the model. Further, as each remaining layer has a respective updated layer thickness computed based on the height difference, the aggregate height of the parallel slices in the remaining portion (i.e., the remaining layers with the updated layer thicknesses) corresponds to the remaining target height.
[0064] At block 1008, the controller 204 may additionally compute an updated cross-section based on the updated layer thickness and the model of the 3D object. Specifically, since each of the remaining layers has its thickness updated, the z-axis start value for each layer (i.e., the z-coordinate at which each layer begins) may also change according to the updated thicknesses of the layers lower than the given layer. Accordingly, the cross sections of each of the remaining layers may change based on the profile of the 3D object.
[0065] At block 1010, the controller 204 may additionally compute an updated start layer for a pending component of the 3D object. Specifically, since each of the remaining layers has its thickness updated, the z-axis start value for each layer (i.e., the z-coordinate at which each layer begins) may also change according to the updated thicknesses of the layers lower than the given layer. Accordingly, a pending component designated to start at a specific z-coordinate value with a certain layer may be adjusted to start at a previous or following layer, based on the new z-axis start values for each layer.
[0066] As described above, an example print system and method for processing models according to target heights is provided. When a target height of a 3D object is not a whole multiple of a predetermined layer thickness, the model is sliced into a first set of parallel slices each corresponding to the predetermined build material layer thickness and a second set of parallel slices each corresponding to a second build material layer thickness. The aggregate height of the sets of parallel slices of the object model corresponds to the target height. The slices may be selected based on a z-axis level of detail of the model, for example to provide greater accuracy in regions having a high level of detail. Additionally, the height of a partially completed 3D object may be monitored during a print operation, and the slicing repeated for a remaining portion of the model to maintain accuracy of the print job to the target height defined in the model.
[0067] The scope of the claims should not be limited by the above examples, but should be given the broadest interpretation consistent with the description as a whole.

Claims

1 . A method for processing a model for a 3D object to be printed , the method comprising: determining a target height of the 3D object; determining whether the target height of the 3D object is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object; when the target height is a whole multiple of the predetermined layer thickness, slicing the model into parallel slices, each corresponding to the predetermined layer thickness; and when the target height is not a whole multiple of the predetermined layer thickness, slicing the model into: a first set of parallel slices, each corresponding to the predetermined layer thickness; and a second set of parallel slices, each corresponding to a second layer thickness; wherein an aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object.
2. The method of claim 1 , further comprising: identifying a region of the model having a high level of detail in a z-axis of the model; selecting the second set of parallel slices to correspond to at least a portion of the region; and defining the second layer thickness to be smaller than the predetermined layer thickness.
3. The method of claim 1 , further comprising: identifying a region of the model having a low level of detail in a z-axis of the model; selecting the second set of parallel slices to correspond to the region; and defining the second layer thickness to be greater than the predetermined layer thickness.
4. The method of claim 1 , further comprising controlling a build mechanism to print the 3D object by forming successive layers of a build material having a thickness corresponding to the first set of parallel slices and the second set of parallel slices.
5. The method of claim 4, wherein controlling the build mechanism comprises: spreading a layer of build material having the predetermined layer thickness when the layer corresponds to a slice in the first set and having the second layer thickness when the layer corresponds to a slice in the second set; selectively solidifying portions of the layer of build material according to a cross-section of the 3D object defined in the model.
6. The method of claim 1 , further comprising: monitoring an ongoing print operation to obtain a height of the 3D object during the ongoing print operation; when the height of the 3D object does not match an expected height based on the sliced model, determining a remaining target height of the 3D object as a difference between the target height and the height; and slicing a remaining portion of the model into further parallel slices such that the aggregate height of the further parallel slices corresponds to the remaining target height.
7. A print system for printing a 3D object, the print system comprising: a build mechanism to apply successive layers of a build material to build the 3D object; a controller coupled to the build mechanism, the controller to: obtain a model of the 3D object; determine whether a target height of the 3D object defined in the model Is a whole multiple of a predetermined layer thickness that is to be used to print the 3D object; when the target height is a whole multiple of the predetermined layer thickness, slice the model into parallel slices, each corresponding to the predetermined layer thickness; and when the target height is not a whole multiple of the predetermined layer thickness, slice the model into: a first set of parallel slices, each corresponding to the predetermined layer thickness; and a second set of parallel slices, each corresponding to a second layer thickness; wherein an aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the target height of the 3D object; and control the build mechanism to form the successive layers of the build material to build the 3D object according to the sliced model.
8. The print system of claim 7, wherein the controller is to select the second set based on a z-axis resolution of a surface profile of the 3D object.
9. The print system of claim 7, further comprising: a sensor to monitor a height of the 3D object during an ongoing print operation; and wherein the controlier is further to: obtain, from the sensor, the height of the 3D object during the ongoing print operation; when the height of the 3D object does not match an expected height based on the siiced model, determine a remaining target height of the 3D object as a difference between the target height and the height; and slice a remaining portion of the model into further parallel slices such that the aggregate height of the further parallel slices corresponds to the remaining target height.
10. The print system of claim 7, wherein the build mechanism comprises: a build platform to be lowered for each successive layer according to a respective thickness of a corresponding slice in the sliced model; a spreading mechanism to apply a layer of build material on the build platform; and a solidifying mechanism to selectively solidify portions of the layer of build material according to a cross-section of the 3D object defined in the model.
11 . A method for updating a build plan for a model of a 3D object during a print operation, the method comprising: obtaining a current height of the 3D object during the print operation; determining an expected height of the 3D object based on target thicknesses of applied layers in the build plan; when the current height of the 3D object does not match the expected height, determining a remaining target height of the 3D object as a difference between a target height and the current height; and siicing a remaining portion of the model into parallel slices such that an aggregate height of the parallel slices corresponds to the remaining target height.
12. The method of claim 11 , wherein slicing the remaining portion comprises: a first set of parallel slices, each corresponding to a predetermined layer thickness; and a second set of parallel slices, each corresponding to a second layer thickness; wherein the aggregate height of the first set of parallel slices and the second set of parallel slices corresponds to the remaining target height.
13. The method of claim 11 , wherein slicing the remaining portion comprises: determining a number of remaining layers to apply; and computing an average layer thickness change based on the number of remaining layers and the difference between the current height and the expected height; and applying the average layer thickness change to obtain an updated layer thickness for each of the parallel slices in the remaining portion of the model.
14. The method of claim 13, further comprising computing, for each of the remaining layers, an updated cross section based on the updated layer thickness and the model of the 3D object.
15. The method of claim 13, further comprising computing, based on the updated layer thickness for each of the remaining layers and a profile of the 3D object, an updated start layer of a pending component of the 3D object.
PCT/US2020/056329 2020-10-19 2020-10-19 Processing 3d object models based on target heights WO2022086491A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2020/056329 WO2022086491A1 (en) 2020-10-19 2020-10-19 Processing 3d object models based on target heights

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/056329 WO2022086491A1 (en) 2020-10-19 2020-10-19 Processing 3d object models based on target heights

Publications (1)

Publication Number Publication Date
WO2022086491A1 true WO2022086491A1 (en) 2022-04-28

Family

ID=81290939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/056329 WO2022086491A1 (en) 2020-10-19 2020-10-19 Processing 3d object models based on target heights

Country Status (1)

Country Link
WO (1) WO2022086491A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115179553A (en) * 2022-07-27 2022-10-14 沈阳京盛正和医学科技有限公司 Typesetting method and system for dental 3D printing and typesetting software

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170203515A1 (en) * 2016-01-14 2017-07-20 Microsoft Technology Licensing, Llc Printing 3d objects with automatic dimensional accuracy compensation
US20180200956A1 (en) * 2015-07-13 2018-07-19 Stratasys Ltd. Leveling apparatus for a 3d printer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180200956A1 (en) * 2015-07-13 2018-07-19 Stratasys Ltd. Leveling apparatus for a 3d printer
US20170203515A1 (en) * 2016-01-14 2017-07-20 Microsoft Technology Licensing, Llc Printing 3d objects with automatic dimensional accuracy compensation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115179553A (en) * 2022-07-27 2022-10-14 沈阳京盛正和医学科技有限公司 Typesetting method and system for dental 3D printing and typesetting software

Similar Documents

Publication Publication Date Title
EP3738750B1 (en) 3d printing apparatus and method
US20190152155A1 (en) 3d printing
KR102163831B1 (en) 3D printing
JP6560363B2 (en) 3D processing equipment
EP3587999B1 (en) Measuring device and fabricating apparatus
US20210255602A1 (en) Method for Determining Building Instructions for an Additive Manufacturing Method, Method for Generating a Database with Correction Measures for Controlling the Process of an Additive Manufacturing Method
EP3800539A1 (en) Method and system for operating a metal drop ejecting three-dimensional (3d) object printer to compensate for drop size variations
WO2022086491A1 (en) Processing 3d object models based on target heights
WO2020222789A1 (en) Dimensional compensations in additive manufacturing
US20230241841A1 (en) Method for improved infilling of part interiors in objects formed by additive manufacturing systems
EP4308364A1 (en) Additive manufacturing method with build material control and apparatus
WO2021154244A1 (en) Generation of an object model for three dimensional printers
CN107745525B (en) 3D printing method and device
WO2020222793A1 (en) Geometrical compensation models
EP4035805A1 (en) Method and apparatus for forming overhang structures with a metal drop ejecting three-dimensional (3d) object printer
WO2019209327A1 (en) Modifying object volumes based on locally predicted temperatures
CN117255722A (en) Method for monitoring and influencing additive layer manufacturing processes
EP3762218B1 (en) Adapting printing parameters during additive manufacturing processes
EP3755521B1 (en) Layering of a three-dimensional object
US20220161498A1 (en) Dimensional compensations for additive manufacturing
WO2022180842A1 (en) Method for developing additive manufacturing technology and 3d additive manufacturing system
CN114043728B (en) 3D printer, method and device for same, 3D printing system and storage medium
US20230373007A1 (en) Method and apparatus for forming overhanging structures in additive manufactured parts that have an improved surface roughness
US20220016845A1 (en) Geometrical compensation in additive manufacturing
CN116890459A (en) Computer-implemented method for generating output machine control data

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

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

Country of ref document: EP

Kind code of ref document: A1