The present disclosure is generally related to control of a three-dimensional (3D) printing device.
Improvements in computing technologies and material processing technologies have led to an increased interest in computer-driven additive manufacturing techniques, such as three-dimensional (3D) printing. Generally, 3D printing is performed using a 3D printing device that includes an extruder, one or more actuators, and a controller coupled to some form of structural alignment system, such as a frame. The controller is configured to control the extruder and the actuators to deposit material, such as a polymer-based material, in a controlled arrangement to form a physical object.
In a particular implementation, a method includes obtaining first model data specifying a first three-dimensional (3D) model of a first object and obtaining second model data specifying a second 3D model of a second object. The first model data indicates a location of the first 3D model relative to a model space and the second model data indicates a location of the second 3D model relative to the model space, where the second 3D model intersects the first 3D model in the model space. The method further includes processing the first model data and the second model data to generate machine instructions executable by a 3D printing device to generate a physical model of the first object, the physical model defining a void region to receive a physical instance of the second object.
In another particular implementation, a computer-readable storage device stores instructions that are executable by a processor to cause the processor to perform operations including obtaining first model data specifying a first three-dimensional (3D) model of a first object and obtaining second model data specifying a second 3D model of a second object. The first model data indicates a location of the first 3D model relative to a model space and the second model data indicates a location of the second 3D model relative to the model space, where the second 3D model intersects the first 3D model in the model space. The instructions further cause the processor to perform the operations of processing the first model data and the second model data to generate machine instructions executable by a 3D printing device to generate a physical model of the first object, the physical model defining a void region to receive a physical instance of the second object.
In another particular implementation, a computing device include a processor and a memory accessible to the processor. The memory stores instructions that are executable by the processor to cause the processor to perform operations including obtaining first model data specifying a first three-dimensional (3D) model of a first object and obtaining second model data specifying a second 3D model of a second object. The first model data indicates a location of the first 3D model relative to a model space and the second model data indicates a location of the second 3D model relative to the model space, where the second 3D model intersects the first 3D model in the model space. The instructions further cause the processor to perform the operations of processing the first model data and the second model data to generate machine instructions executable by a 3D printing device to generate a physical model of the first object, the physical model defining a void region to receive a physical instance of the second object.
Other aspects, advantages, and features of the present disclosure will become apparent after review of the entire application, including the following sections: Brief Description of the Drawings, Detailed Description, and the Claims.
A 3D printing device may be a peripheral device that includes an interface to a computing device. For example, the computing device may be used to generate or access a 3D model of an object. In this example, a computer-aided design (CAD) program may be used to generate the 3D model. A slicer application may process the 3D model to generate commands that are executable by the 3D printing device to form a physical model of the object. For example, the slicer application may generate G-code (or other machine instructions) that instruct when and where a controller of the 3D printing device is to move an extruder and provides information regarding 3D printing device settings, such as extruder temperature, material feed rate, extruder movement direction, extruder movement speed, among others.
The slicer application may generate the G-code or the machine instructions by dividing the 3D model into layers (also referred to as “slices”). The slicer application determines a pattern of material to be deposited to form a physical model of each slice. Generally, the physical model of each slice is formed as a series or a set of lines of extruded material. The G-code (or other machine instructions), when executed by the controller of the 3D printing device, cause the extruder to deposit a set of lines of the material in a pattern to form each layer, and one layer is stacked upon another to form the physical model. Layer stacking arrangements or support members can also be used to form lines of the material that are partially unsupported (e.g., arches).
The slicer application may also be able to generate the G-code or the machine instructions from 3D models of multiple objects. For example, the slicer application may be able to create one or more void regions in a physical model of a first object that correspond to a 3D model of a second object. The second object may be an electrical component or a circuit component, and the slicer application may process the multiple 3D models to generate the G-code or the machine instructions that allow inserting a physical instance of the second object into the physical model of the first object. Additionally, the slicer application may generate the G-code or the machine instructions to instruct a 3D printing device to form a physical model of a third object within a void region of the physical model of the first object. The third object may be formed by depositing conductive material. The third object may include or correspond to electrical or circuit components, such as electrical contacts, resistors, transistors, capacitors, inductors, etc. Thus, the slicer application may generate instructions that enable the 3D printing device to form a functional circuit within the physical model of the first object. By forming a functional circuit within the physical model, a 3D printing device may be able to print three dimensional electrical devices and components. Forming prototypes or products of electrical devices and components using a 3D printing device may be faster and less expensive than creating specific tool and die processes to manufacturer the prototypes or the products.
In a particular embodiment, the computing device 102 includes a processor 103 and a memory 104. The computing device 102 may include a 3D modeling application 106. The 3D modeling application 106 may enable generation of 3D models, which can be used to generate model data 107 descriptive of the 3D models. For example, the 3D modeling application 106 may include a computer-aided design application. The model data 107 may include or correspond to one or more 3D models of one or more objects.
The computing device 102 or the 3D printing device 101 includes the slicer application 108. The slicer application 108 may be configured to process the model data 107 to generate commands 109 that the 3D printing device 101 (or portions thereof) uses during generation of a physical model of an object represented by the model data 107. In the particular embodiment illustrated in
The computing device 102 may also include a communications interface 105 that may be coupled via the communication bus 160 to the 3D printing device 101. For example, the 3D printing device 101 may be a peripheral device that is coupled via a communication port to the computing device 102.
The 3D printing device 101 includes a frame 110 and support members 111 arranged to support various components at the 3D printing device 101. In particular embodiments, the 3D printing device 101 may include a deposition platform 112. In other embodiments, the 3D printing device 101 does not include a deposition platform 112 and another substrate or surface may be used for deposition. The 3D printing device 101 also includes one or more printheads. For example, in the embodiment illustrated in
Each printhead 113-115 is coupled to receive a material that may be deposited to form a portion of a physical model of an object. For example, the first printhead 113 may be coupled to a first material container 119 that includes a first material 120. As another example, the second printhead 114 may be coupled to a second material container 121 that includes a second material 122. The Nth printhead 115 may be coupled to a mixer 127. The mixer 127 may be coupled to a first component container 123 and a second component container 125. The first component container 123 may be configured to retain a first component 124, such as a resin. In this example, the second component container 125 may be configured to contain a second component 126, such as a hardening agent. In the example illustrated in
Proportions of the components 124, 126 supplied to the mixer 127 may be controlled by a controller 141 of the 3D printing device 101. The controller 141 may also, or in the alternative, control one or more actuators 143 to move the deposition platform 112 relative to the printheads 113-115, to move the printheads 113-115 relative to the deposition platform 112, or both. For example, in a particular configuration, the deposition platform 112 may be configured to move in a Z direction 140. In this example, the printheads 113-115 may be configured to move in an X direction 138 and a Y direction 139 relative to the deposition platform 112. Thus, movement of one or more printheads 113-115 relative to the deposition platform 112 may involve movement of the deposition platform 112, movement of one or more of the printheads 113-115, or movement of both the deposition platform 112 and the printheads 113-115. In other examples, the deposition platform 112 may be stationary and one or more of the printheads 113-115 may be moved. In yet other examples, the one or more printheads 113-115 may be stationary and the deposition platform 112 may be moved.
Accordingly, the 3D printing device 101 enables use of multiple printheads 113-115 with multiple distinct materials, such as the first material 120, the second material 122, the mixture 128, or a combination thereof, to form physical models of 3D objects corresponding to model data 107. The 3D printing device 101 is able to form a functional circuit within the physical model by creating void regions within the physical model of the object that contain physical instances of electrical or circuit components. Additionally, the 3D printing device 101 may be able to form the circuit within the physical model of the object by depositing electrically conductive material to form electrical or circuit components, such as electrical contacts, resistors, transistors, capacitors, inductors, etc., within the physical model and the void regions thereof.
The 3D modeling application 106 may also be used to generate, access, or modify second model data corresponding to a second 3D model 204. For example, the 3D modeling application 106 may be used to generate the second model data corresponding to the second 3D model 204. The second model data may represent a 3D model of a second object. The second model data may also indicate a relative position of the second object or the second 3D model 204 in the model space 208. In a particular example, the second object may intersect the first object in the model space 208. That is, when the second 3D model 204 is mapped to the model space 208, and the first 3D model 202 is mapped to the model space 208, at least a portion of the second 3D model 204 may overlap or be embedded within the first 3D model 202. To illustrate, at least one point of the coordinate system is associated with the first 3D model 202 and the second 3D model 204. As another illustration, at least one coordinate of a set of coordinates the first 3D model 202 overlaps (or is co-located) with at least one coordinate of a set of coordinates of the second 3D model 204. In some implementations, the second 3D model may intersect the third 3D model.
The 3D modeling application 106 may also be used to access, generate, or modify third model data corresponding to a third 3D model 206. The third 3D model 206 may represent an electrical interconnect or a set of electrical interconnects. The third 3D model 206 may also indicate a relative position of the electrical interconnect, the third 3D model 206, or both, in the model space 208. In some implementations, at least a portion of the third 3D model 206 may intersect at least a portion of the first 3D model 202 in the model space 208. One or more of the 3D models 202-206 may correspond to printable objects, that is, objects that are to be printed by 3D printing device 101.
Additionally, one or more of the 3D models 202-206 may correspond to a non-printing object. For example, in the example illustrated in
The 3D modeling application 106 may also be used to generate or obtain tags 210. The tags 210 may indicate one or more materials to be used to form physical objects corresponding to one or more of the 3D models 202-206 or may indicate that one or more of the 3D models 202-206 is a non-printing object. The 3D modeling application 106 may use the tags 210 to generate tagging data 212, which may be sent to a slicer application 108. For example, when model data 107, corresponding to the 3D models 202-206, is provided to the slicer application, the tagging data 212 may also be provided to the slicer application 108 indicating that the second 3D model 204 corresponds to a non-printing object.
Referring to
Returning to
In a particular implementation, the slicer application 108 may form the commands 109 by defining void regions in a matrix material corresponding to the first 3D model 202 to receive the non-printing object corresponding to the second 3D model 204 and to receive filler material, such as electrically conductive material corresponding to the third 3D model 206 of the electrical interconnects. For example, the slicer application 108 may generate a sliced model 220. The sliced model 220 may include a plurality of layers 222 defining or describing material to be deposited by one or more extruders of the 3D printing device 101 in a stacked arrangement in order to form a physical object corresponding to the model data 107. Each of the layers may include the matrix material, the filler material, or both. For example, for some of the layers, the 3D printing device 101 may deposit a first material corresponding to the matrix material to define, for example, a physical support or a structure of a first object corresponding to the first 3D model 202. For one or more of the layers 222, the 3D printing device 101 may deposit a second material (e.g., the filler material) corresponding to the third 3D model 206 to form an electrically conductive trace or region corresponding to an electrical interconnect of the third 3D model 206. As another example, the 3D printing device 101 may use the matrix material or the filler material, or both to define a void region to receive a physical instance of a second object (e.g., a non-printing object) corresponding to the second 3D model 204.
The slicer application 108 may also select from among the layers 222, one or more layers as an insertion layer 224 and one or more layers as an interconnect deposition layer 226. An insertion layer 224 corresponds to a last printed layer of the matrix material, the filler material, or both, before a non-printing object is inserted in a physical model. For example, an insertion layer 224 may correspond to a last printed layer to define a void region to receive the non-printing object. The insertion layer 224 may be selected, such that after the non-printing object is inserted into the physical model, one or more extruders of the 3D printing device 101 can deposit additional material on, over, around, or a combination thereof, the non-printing object without the extruders contacting the non-printing object. For example, the void region may be defined with walls sufficiently high that when the non-printing object is inserted (e.g., recessed) within the physical model, the one or more extruders can pass over the physical instance of the non-printing object without contacting the non-printing object.
To illustrate, an upper surface of the non-printing object may be below an upper surface of the last printed layer of the physical object, as described further with reference to
In a particular embodiment, the slicer application 108 may determine void regions corresponding to the void regions in the first 3D model 202 corresponding to the second 3D model 204 and the third 3D model 206. For example, the void regions may be defined by the matrix material, the filler material, or both in order to allow insertion of a physical instance of a non-printing object corresponding to the second 3D model 204. Additionally, the void regions may be defined sufficiently to account for 3D printing device characteristics 214. For example, where an extruder head of the 3D printing device 101 is to deposit material below an uppermost surface (e.g., the highest most layer printed) of previously deposited material, dimensions of the extruder head may be accounted for in determining the void regions to prevent impact of the extruder head with previously printed materials, as described with reference to
If the slicer application 108 determines that a particular void region is insufficient to allow deposition of a material within a portion of a physical model (e.g., due to depth, width, or other dimensions of the void region, or due to the 3D printing device characteristics 214), a notification 234 may be provided to an external device 240, such as a user interface device. The notification 234 may indicate a suggestion of manual intervention during formation of the physical model in order to accommodate deposition as needed. For example, the manual intervention may include manually depositing electrical interconnect material prior to inserting a physical instance of a non-printing object in the partially complete physical model.
The sliced model 220 may be used to generate machine instructions 230. For example, the slicer application 108 may generate the machine instructions 230 based on the sliced model 220. The machine instructions 230 may include one or more interrupts 232. For example, an interrupt 232 may be associated with each insertion layer 224. When the interrupt 232 is executed, it may cause a notification to be executed by the 3D printing device 101 or it may cause a notification 242 to be sent to an external device 240 (e.g., a pick and place machine, a user interface device, etc.) to indicate that a physical model being generated by the 3D printing device 101 is at a stage to allow insertion of a physical instance of a non-printing object, such as a physical instance of an object corresponding to the second 3D model 204. Additionally, if a notification 234 has been provided by the slicer application 108 to the external device 240 that indicates or suggests manual intervention, an interrupt 232 may be associated with the manual intervention. The notification 234 may indicate that a user step is required at the particular stage during formation of the physical object.
The machine instructions 230 and interrupts 232 may be used to perform commands 109 (e.g., G-code provided to the 3D printing device 101) to generate a physical model corresponding to the first 3D model 202, the third 3D model 206, and to provide void regions to accommodate a physical instance of a non-printing object corresponding to the second 3D model 204. The void regions may be shaped such that the second 3D model or a physical instance of a non-printing object corresponding to the second 3D model 204 can be inserted into a physical model of the first 3D model 202 from above. For example, a cross-sectional shape of the void region may be determined based on a largest cross-section of the non-printing object. Additionally, where materials are to be deposited below an uppermost surface of previously deposited material by the 3D printing device 101, dimensions of the void regions may need to be determined based on the 3D printing device characteristics 214.
Thus,
As previously described, the void region 304 may have dimensions corresponding to the second 3D model 204 or may have dimensions larger than the second 3D model 204. To illustrate, a cross-section of the void region 304 in a particular plane may have size and shape corresponding to a largest cross-section of the second 3D model 204. As another example, the dimensions of the void region 304 may be determined, based at least in part on the 3D printing device characteristics 214. Additionally, areas to be printed using matrix material may define void regions corresponding to areas to be printed using other materials, such as an electrically conductive material (e.g., interconnect material) corresponding to the third 3D model 206. Thus, the first model data corresponding to the first 3D model 202 may be modified to subtract electrical interconnects from matrix material to generate void regions 306. Thus, an integrated model of the matrix material 310 may be formed based on the first 3D model 202, the second 3D model 204, the third 3D model 206, as well as characteristics of the 3D printing device 101.
After the integrated model of the matrix material 310 is formed, preliminary slicing may be performed to identify insertion layers, interconnect deposition layers, or both. For example, a particular slice of the integrated model of the matrix material 1310 may be identified as an insertion layer 312. The insertion layer 312 may correspond to a layer at a top of the void region 304. That is, the insertion layer 312 is the last printed layer of the matrix material defining the void region 304. The preliminary slicing to identify the interconnect deposition layers may determine when material corresponding to electrical interconnects is to be deposited. For example, material corresponding to electrical interconnects 320 may be deposited during formation or curing of the matrix material within each layer. Alternatively, the matrix material may be printed based on the integrated model of the matrix material 310 and after multiple layers of matrix material that form at least a portion of one of the void regions 306 is deposited, electrically conductive material corresponding to the electrical interconnect 320 may be deposited.
In a particular example, since the insertion layer 312 is above an electrical contact corresponding to the bottom contact 302 of the non-printing object. Sufficient time may have passed after deposition of electrical interconnect material corresponding to the electrical interconnects 320 that a reliable electrical interconnect may not be formed between the electrical interconnect material and the contact 302 on the bottom of the electrical component or non-printing object. Accordingly, an interconnect deposition layer may be identified to deposit a portion of electrical interconnect material 322 after printing the insertion layer 312, such that the electrical interconnect material 322 is deposited just before insertion of a physical instance of the second object (e.g., the electrical component) to ensure secure electrical contact between the contact 302 on the bottom of the electrical component and the electrical interconnects. Additionally, the electrical interconnects 324 may be printed after insertion of the non-printing object. Thus,
After obtaining the 3D model or the model data 107, a slicer application, such as the slicer application 108, may perform slicing operations to generate the commands 109. In the example illustrated in
After the sliced model 330 is generated, the slicer application 108 may modify one or more of the slices based on characteristics (e.g., 3D printing device characteristics) of the 3D printing device 101 to be used to print the physical model. For example, the slicer application 108 may access the settings 150, the calibration data 148, or both, associated with the 3D printing device 101 of
In the example illustrated in
For example, the slicer application may be configured to generate commands that favor printing one material at a time, and then print with a different material. To illustrate, a first material may be used to form multiple layers corresponding to a set of slices. Even when the slices include regions corresponding to a second material, the slicer application may arrange the commands so that all of the regions that use the first material are printed first. Subsequently, regions that use the second material may be printed, such as by printing on a non-planar surface formed by the first material or by injecting the second material into tunnels or voids defined in the first material. When the first material encloses the second material, the first material may be deposited until just before the access to a region that is ton include the second material is closed off, then the second material may be deposited, as illustrated in
As illustrated in
Modifying the slices results in a modified sliced model 410, which may be further processed. For example, when a slice, such as the slice 414, includes an enclosed void region 418, the slicer application may process that slice 414 as multiple separate or coupled polygons to limit or reduce starting and stopping during a deposition process. During formation of a physical model, the void region 418 may eventually be filled with the second material 122. However, during deposition of the first material 120, the void region 418 is empty. The slicer application 108 may process the slice 414 to generate multiple polygons, such as a first polygon 420, a second polygon 422, a third polygon 424, and a fourth polygon 426. The multiple polygons 420-426 may be generated and arranged such that the void region 418 is surrounded by the polygons 420-426, each polygon 420-426 is adjacent to the void region 418, and no polygon 420-426 includes an internal void region. Thus, each polygon 420-426 may be continuous (without spaces, openings, or holes), so that each polygon 420-426 can be printed using continuous lines, thereby limiting starting and stopping a corresponding printhead.
The second slice 406 may also be processed further. For example, the second slice 406 includes multiple regions of the first material 120 and a large gap region in which no material is deposited. In this case, the slicer application 108 may identify and separate the regions to generate separate stacks 430 and 432. Each separate stack 430, 432 may be treated as a separate layer for purposes of generating a tool path. For example, a tool path 434 may be generated for the first stack 430, and a tool path 436 may be generated for the second stack 432. Although not illustrated in
In a particular embodiment, tool paths for multiple slices of the sliced and tool pathed model 440 may be determined such that a continuous line of material extends between multiple layers. For example, as further described in
Additionally, in some embodiments, one material may be deposited on a nonplanar surface formed by another material. For example, the slicer application may generate a tool path for depositing the second material that extends across multiple layers of the first material, as illustrated in
Further, as described above and with reference to
Thus,
In the example illustrated in
The method 1500 includes, at 1502, obtaining first model data specifying a first three-dimensional (3D) model of a first object, the first model data indicating a location of the first 3D model relative to a model space. For example, the slicer application 108 of
The method 1500 includes, at 1504, obtaining second model data specifying a second 3D model of a second object, the second model data indicating a location of the second 3D model relative to the model space, where, in the model space, the second 3D model intersects the first 3D model processing. For example, the slicer application 108 of
The method 1500 includes, at 1506, processing the first model data and the second model data to generate machine instructions executable by a 3D printing device to generate a physical model of the first object, where the physical model defines a void region to receive a physical instance of the second object. For example, processing the model data may include performing, by the slicer application 108, slicing operations, such as operations described with reference to
The machine instructions may include or correspond to the commands 109 of
The machine instructions may be executable to cause an extruder of the 3D printing device to deposit a first portion of the material corresponding to a first portion of the physical model. The machine instructions may also be executable to cause the 3D printing device to clean the extruder after depositing the first portion of the material. The machine instructions may further be executable to cause the extruder of the 3D printing device to deposit a second portion of the material after cleaning the extruder, where the second portion of the material corresponds to a second portion of the physical model. The machine instructions may further be executable to cause a second extruder to deposit a portion of a second material. In some implementations, the machine instructions do not include instructions or commands to generate a second physical model of the second object.
In some implementations, the method 1500 may include receiving tagging data indicating that the second object is a non-printing object. For example, the tagging data may include or correspond to the tagging data 212 of
In some implementations, the method 1500 may include determining dimensions of the void region based on dimensions of the 3D printing device. In some implementations, the method 1500 may include determining dimensions of the void region to enable the 3D printing device to deposit material on or over the physical instance of the second object without an extruder of the 3D printing device contacting the physical instance of the second object.
In some implementations, generating the machine instructions may include processing the first model data to generate a sliced model defining a plurality of layers to be deposited to form the physical model of the first object and designating a particular layer of the plurality of layers as an insertion layer. For example, the sliced model may include or correspond to the sliced model 220 of
In some implementations, the method 1500 may include obtaining third model data specifying a third 3D model of an electrical interconnect. The third model data may indicate a location of the third 3D model relative to the model space, where, in the model space, the third 3D model intersects the first 3D model. The third model data may be processed with the first model data and the second model data to generate the machine instructions. For example, the third 3D model may include or correspond to the third 3D model 206 of
In some implementations, processing the first model data, the second model data, and the third model data may include generating a sliced model associated with the first model data, the sliced model defining a plurality of layers to be deposited to form the first portion of the physical model. Processing the first model data, the second model data, and the third model data may also include determining that dimensions of the void region are insufficient to allow deposition of the second material within a portion of the physical model that corresponds to the void region. Processing the first model data, the second model data, and the third model data may further include generating a notification suggesting manual intervention during formation of the physical model. For example, the notification may include or correspond to the notification 234 of
In some implementations, generating the machine instructions may include processing the first model data to generate a sliced model defining a plurality of layers to be deposited to form the physical model of the first object. Generating the machine instructions may also include designating a particular layer of the plurality of layers as an interconnect deposition layer. For example, the interconnect deposition layer may include or correspond to the interconnect deposition layer 226 of
In some implementations, the method 1500 may also include storing data representing the machine instructions, sending data representing the machine instructions to the 3D printing device via a communication interface, or both. For example, after the commands 109 of
In a first implementation, the machine instructions are executable to cause the 3D printing device 101 to track a quantity of the material deposited to form the first portion of the physical model. In a second implementation, a slicer application (such as the slicer application 108) generating the machine instructions may determine a quantity of the material that will be deposited to form the first portion of the physical model. In some implementations, the machine instructions may include a cleaning sequence based on the quantity of the material deposited satisfying a threshold. In either of these implementations, the machine instructions may be executable to cause the 3D printing device 101 to clean the extruder based on the quantity of the material deposited satisfying a threshold.
Additionally or alternately, the first implementation, the second implementation, or both, may be based on deposition time. To illustrate, in the first implementation, the machine instructions are executable to cause the 3D printing device 101 to track a deposition time associated with forming the first portion of the physical model. In a second implementation, a slicer application (such as the slicer application 108) generating the machine instructions may determine a deposition time associated with forming the first portion of the physical model. In some implementations, the machine instructions may include a cleaning sequence based on the deposition time satisfying a threshold. In either of these implementations, the machine instructions may be executable to cause the 3D printing device 101 to clean the extruder based on the deposition time satisfying a threshold. In yet another implementation, a cleaning sequence may be further based on downtime of an extruder.
In some implementations, the machine instructions are executable to cause the 3D printing device to mix two or more components to form the material. For example, the machine instructions may be executable by the 3D printing device 101 to provide the first component 124 (e.g., a resin) and the second component 126 (e.g., a hardening agent) to the mixer 127 to form the mixture 128. In such implementations, the machine instructions may cause the 3D printing device to clean the extruder based on the time since mixing satisfying a threshold. For example, the two or more components may begin to cure upon mixing, and the threshold may be based on a cure time of the mixture. In such implementations, the material extruded to form the first portion of the physical model may include or correspond to the mixture. Alternatively, in a particular embodiment, the mixture may be used by a second extruder.
In some implementations, the machine instructions are executable to cause the 3D printing device to deposit a second material after depositing the first portion of the material and before depositing the second portion of the material. The second material may be chemically distinct from the material. For example, the physical model may include a first portion representing a matrix material (e.g., a first material) and a second portion representing a filler material (e.g., a second material). The first portion may correspond to the first 3D model 202, and the second portion may correspond to the third 3D model 206.
In a particular implementation, the method 1500 may be performed by a processor and a memory. For example, the processor 103 and the memory 104 of
As explained above, there are many ways that the slicer application can arrange the pattern of materials to be deposited to form each layer. Characteristics of a 3D print job may vary depending on how the slicer application arranges the pattern lines that make up each of the layers. For example, two different patterns of lines may have different printing characteristics, such as an amount of time used to print the physical model, an amount of material used to print the physical model, etc. As another example, two different patterns of lines may result in physical models that have different characteristics, such as interlayer adhesion, weight, durability, etc. Accordingly, different slicer applications or different settings or configurations of the slicer application can affect the outcome of a particular 3D print job.
Besides the arrangement of the pattern of materials, other factors can also affect print quality. For example, during extrusion, some materials have a tendency to clog or partially clog a nozzle of the extruder. As the nozzle begins to clog, the flow properties of the nozzle change. To illustrate, a decreased flow area of the nozzle can lead to forming lines that have decreased cross-sectional area, which can reduce print quality. Additionally, if a clog breaks loose during extrusion, the clog can be deposited as a clump or other line deformity. As another example, some materials may aggregate around the nozzle during extrusion to forms clumps that do not occlude the nozzle but can nevertheless lead to problems. These clumps of material can break loose during extrusion to cause clumps or other line deformities in the deposited material.
Accordingly, one method of improving print quality is to have the slicer application periodically or occasionally interrupt the extrusion process to clean the extruder by inserting cleaning instructions or commands into the machine instructions 230 or the commands 109. The extruder can be cleaned by moving the extruder to a cleaning station that includes one or more brushes or scrapers. The brushes or scrapers may be passive such that the extruder is moved across the brushes or scrapers to remove excess material. Alternately, the brushes or scrapers may be active (e.g., moving linearly or rotating) to contact the extruder to remove excess material. The cleaning station may also include a waste catcher to catch and retain the removed excess material away from the object being printed. The waste catcher may also be used to purge material from the extruder. For example, material may be purged from the extruder when changing from using a first material to using a second material. As another example, if the material being deposited is reactive (e.g., cures after being mixed or upon exposure to air) some or all of the material may be purged when the extruder is cleaned to avoid curing of the material in the extruder.
Different types of extruders may be used to deposit different types of materials (e.g., physically or chemically distinct materials). For example, a filament-fed extruder may be used to deposit thermoplastic polymers, such as polylactic acid (PLA), acrylonitrile butadiene styrene (ABS) polymers, and polyamide, among others. Paste extruders, such as pneumatic or syringe extruders, may be used to deposit materials that are flowable at room temperature (or at a temperature controlled by the 3D printing device). Examples of materials that may be deposited using paste extruders include silicone polymers, polyurethane, epoxy polymers. Paste extruders may be especially useful to deposit materials that undergo curing upon exposure to air or when mixed together (such as multi-component epoxies).
Some 3D printing devices include multiple extruders to improve print speed or to enable printing with multiple different materials. For example, a first extruder may be used to deposit a first material, and a second extruder may be used to deposit second material. In this example, the first and second materials may have different visual, physical, electrical, chemical, mechanical, and/or other properties. To illustrate, the first material may have a first color, and the second material may have a second color. As another illustrative example, the first material may have first chemical characteristics (e.g., may be a thermoplastic polymer), and the second material may have a second chemical characteristics (e.g., may be a thermoset polymer). As yet another illustrative example, the first material may be substantially non-conductive, and the second material may be conductive. In this example, the first material may be used to form a structure or matrix, and the second material may be used to form conductive lines or electrical components (e.g., capacitors, resistors, inductors) of a circuit.
When a 3D printing device uses multiple extruders to deposit multiple materials, one extruder may be idle (i.e., not extruding material) while another is depositing material. For example, while a first extruder is depositing a matrix material, a second extruder may be idle. Idle extruders may be particularly subject to clogging since flow of material through the extruder may reduce clogging. If the idle extruder becomes clogged, it can lead to reduced print quality as a result of clumps in material that is later deposited by the extruder.
Accordingly, to improve print quality, a print job may be periodically or occasionally interrupted to clean or purge an idle extruder. To illustrate, after a first extruder deposits a first portion of a first material to form part of a physical object, a second extruder (that was idle while the first extruder deposited the first portion of the first material) may be cleaned. Subsequently, the print job may be resumed. For example, the first extruder may deposit a second portion of the first material to form another part of a physical object. Alternately, the second extruder may deposit a second material, or a third extruder may deposit a third material.
In some implementations, the first extruder may also be cleaned while the print job is interrupted. For example, cleaning of the first extruder and of the second extruder may be scheduled so that both are cleaned when either one is to be cleaned.
In some implementations, cleaning operations may be encoded in the G-code or other machine instructions. For example, the slicer application may schedule cleaning operations for one extruder or for multiple extruders. In this example, the G-code or other machine instructions include a sequence of operations associated with printing the physical model (e.g., extrusion operations, extruder movement operations, etc.) and at least one cleaning operation is embedded with the sequence of operations associated with printing the physical model.
In other implementations, cleaning operations may be scheduled or implemented by the controller of the 3D printing device. For example, the slicer application may provide G-code or other machine instructions that specify a sequence of operations associated with printing the physical model, and, during printing, the controller may interrupt execution of the sequence of operations to perform cleaning operations.
The cleaning operations may be performed based on an amount of material deposited. For example, the slicer application may determine a quantity of material that will be used to form a portion of the physical model, and the slicer application may insert a cleaning operation into the G-code or machine instructions when the quantity of material that will be used to form the portion satisfies a threshold. Alternately, the controller of the 3D printing device may track the quantity of material that has been deposited and interrupt the 3D printing device to clean one or more extruders when the quantity of material that has been deposited satisfies a threshold. In other implementations, deposition time of an extruder, idle time of an extruder, or both may be determined or tracked to schedule cleaning operations.
Some materials begin curing (i.e., solidifying) upon exposure to air or upon mixing. For example, two-part epoxies include an epoxy resin and a hardening agent. After the epoxy resin and the hardening agent are mixed, the mixture begins to cure. When a 3D printing device uses such materials, one or more extruders of the 3D printing device may be cleaned or purged based on a time since mixing the materials (or a time since the materials were exposed to air). For example, if a material that cures after mixing is to be used, the slicer application may generate G-code (or other machine instructions) for mixing the materials. In this example, the slicer application may cause the materials to be mixed based on when the mixture will be needed during printing of the physical model. Additionally, the slicer application may track (e.g., by summing deposition time of all extruders of the 3D printing device) when to schedule a cleaning operation or a purging operation to prevent the mixture from curing in the extruder. In another example, the G-code (or other machine instructions) include instructions for mixing the materials, and the controller of the 3D printing device determines (e.g., based on a timer) when to schedule a cleaning operation or a purging operation to prevent the mixture from curing in the extruder.
The arrangement of the pattern of materials to be deposited to form each layer may be of particular concern for certain materials. For example, certain materials have a tendency to form blobs or other irregularly shaped deposits (sometimes referred to as “kisses”) at the start of a line, the end of a line, or both. A kiss can cause an issue with layer stacking if a portion of the kiss extends above the layer on which it is deposited. A kiss can also, or in the alternative, cause an issue with line arrangement with the layer being printed if the kiss extends beyond the width of its line into an area associated with another line.
Slicing the 3D model in a manner that reduces line starts and stops can reduce the number of kisses in a physical model. The number of line starts and stops can be reduced by configuring the slicer application to use as few lines as possible (or as few lines as practical in view of other settings or goals) for each layer. For example, when a line extends to an edge of the layer, rather than ending the line, lifting the extruder head and moving to a new location for the next line, the slicer application may instruct the 3D printing device to turn the line (e.g., in a U-turn) to continue the line in another direction.
The number of line starts and stops can also be reduced by extending lines between layers. For example, when a first layer is complete, rather than ending the line and lifting the extruder head to begin printing the next layer, the line may be extended to overlay a portion of the first layer to immediately begin printing a portion of the second layer. To illustrate, if the first layer is in a horizontal plane, the material forming the line may be deposited to form a vertical or oblique riser up to a plane of the second layer.
As another example, a first portion of a physical model may be formed by stacking multiple layers of material (e.g., a base layer and one or more additional layers at least partially overlaying the base layer) before moving the extruder head to a different location to form another portion of the base layer. In this example, the multiple layers may be stacked using a single continuous deposition step (e.g., with one start and one stop).
Another method that may be used to reduce kisses is to perform additional steps at the end of a line. For example, when a line ends, rather than ceasing extruder flow and lifting the extruder head, the extruder head may be caused to move backward (e.g., in a direction back along the line that was just deposited) as the extruder flow is stopped, as the extruder head is lifted, or both. Alternately, the extruder flow can be ceased before the line end is reached. After the extruder reaches the line end, the extruder head can be lifted and moved back along the line. By causing the extruder head to backtrack along the line with flow stopped or as flow stops, potential kiss at the line end can be smoothed out.
Yet another method that may be used to reduce kisses is to control extruder flow in a manner that accounts for acceleration of the extruder head. For example, pressure applied to the material being deposited, temperature of the material, filament feed rate, or a combination thereof, may be used to control a flow rate of material from the extruder. The G-code (or other machine instructions) may include settings for the temperature, the pressure, the filament feed rate, or a combination thereof. Additionally, the G-code (or other machine instructions) may include information indicating a velocity (e.g., speed and direction of travel) for movement of the extruder head during deposition. At the beginning of a line, the extruder head is not able to instantaneously achieve the indicated velocity. Rather, due to inertia and/or settings of the 3D printing device, the extruder head velocity gradually increases to the indicated velocity. During this acceleration from a starting velocity to the indicated velocity, if the same extruder flow rate is used as is used when the extruder is at the indicated velocity, more material will be deposited at the beginning of the line than in the remainder of the line.
A similar issue arises at the end of the line. That is, when the extruder approaches the end of a line, the extruder is not able to decelerate from the indicated velocity to an ending velocity (e.g., stopped) instantaneously. Rather, the extruder head velocity gradually decreases to the ending velocity. During this deceleration (i.e., negative acceleration), if the same extruder flow rate is used as is used when the extruder is at the indicated velocity, more material will be deposited at the end of the line than in the remainder of the line. Accordingly, kisses or other line irregularities can be reduced by controlling the flow rate of the extruder based on an acceleration rate of the extruder.
Referring back to
The purging station 137 may be configured to receive a material from one or more of the printheads 113-115 in order to purge an extruder of the printhead 113-115. For example, the mixture 128 may begin to cure upon mixing. Accordingly, the mixture 128, or a portion thereof, may be purged occasionally to avoid curing of the mixture 128 within the extruder 134 or within the mixer 127. As an example, when the Nth extruder 134 is purged, the Nth printhead 115 may be moved adjacent to or over the purge station 137, and at least a portion of the mixture 128 may be extruded by the extruder 134 into the purge station 137. The purge station 137 may be configured to be removable or replaceable such that after the mixture 128 cures in the purge station 137, the cured mixture 128 can be removed without damaging components of the 3D printing device 101. Other materials used by other extruders may be deposited in the purge station 137 occasionally. For example, the second material 122 may include a paste that begins to cure upon exposure to air. In this example, the second extruder 132 may be purged at the purge station 137 occasionally to avoid clogging the second extruder tip 133, the second extruder 132, or both. Further, the first material 120 may include a filament or other thermoplastic polymer, and the first material 120 may be occasionally purged at the purge station 137 in order to retain desirable properties of the filament, to avoid clogging the extruder 130, or both. When a printhead 113-115 is purged at the purge station 137, the printhead 113-115 may also be cleaned at the cleaning station 136 to prepare the printhead 113-115 for use.
The 3D printing device 101 may also include a memory 142 accessible to the controller 141. The controller 141 may include or have access to one or more timers 144, one or more material counters 145, or both. The material counters 145 may track a quantity of materials in the material containers 119, 121, the component containers 123, 125, a quantity of material in the mixer 127, a quantity of each material deposited to form a physical model of an object, etc. For example, during formation of a first physical model (or a portion of the first physical model), the first material 120 may be deposited by the first printhead 113. During formation of the first physical model, the material counter 145 may track a quantity of the first material 120 that has been deposited. The material counter 145 may also, or in the alternative, track a quantity of material remaining. To illustrate, during formation of the first physical model, while the first material 120 is being deposited, the material counter 145 may track a quantity of the first material 120 that remains in the first material container 119. As another example, when the mixture 128 is deposited to form a portion of the physical model, the material counter 145 may track a quantity of the mixture 128 remaining in the mixer 127. When the quantity of material remaining in the mixer 127 is below a threshold, the controller 141 may cause the mixture 128 to be purged at the purge station 137 and may cause the first component container 123 and the second component container 125 to provide the first component 124 and the second component 126, respectively, to the mixer 127 to generate a new mixture 128. Alternatively, portions of the first component 124 and the second component 126 may be added to an existing mixture 128 in the mixer 127.
The timers 144 may track an amount of time associated with particular activities of the 3D printing device 101. For example, a first timer of the timers 144 may track a time since mixing the mixture 128. The time since mixing the mixture 128 may be used to determine when to purge the mixture 128. For example, the mixture 128 may be purged before a cure time associated with the mixture 128 is reached. The timers 144 may also, or in the alternatively, track how long a particular printhead 113-115 has been idle. For example, during deposition of the first material 120 to form a portion of a physical model, the second material 122 may sit idle in the second printhead 114 or in the second material container 121. Since the second material 122 may begin to cure upon exposure to air, the portion of the second material 122 exposed at the second extruder tip 133 may begin to cure, potentially causing a clog. Accordingly, based on the timers 144 indicating that the second printhead 114 has been sitting idle for a threshold amount of time, a print activity being performed by the 3D printing device 101 may be interrupted to move the second printhead 114 to the cleaning station 136, the purging station 137, or both, to remove a portion of the second material 122 from the second extruder 132 to avoid clogging the second extruder 132.
As another example, the timers 144 may indicate how long a particular extruder has been in use. For example, when the first extruder 130 is being used to deposit a portion of material corresponding to a physical object, the first extruder 130 may be cleaned periodically to remove excess material that occasionally aggregates around the first extruder tip 131. Thus, based upon the timers 144, a 3D printing operation being performed by the 3D printing device 101 may be interrupted, and the first extruder 130 may be moved to the cleaning station 136, to the purging station 137, or both, to clean the first extruder tip 131.
After cleaning of a particular extruder has been performed, the 3D printing operations may resume where they left off. For example, when the first extruder 130 was being used to form a portion of a physical model, and the timer 144 or the material counter 145 indicated cleaning was needed, the print activity may be interrupted, the first extruder 130 may be cleaned, purged or both, and then the printing activity may resume with the first extruder 130 depositing the first material to form a second portion of the physical object. Alternatively, cleaning operations may be scheduled based on the timers 144, the material counter 145, or both, such that the cleaning and/or purging operations occurs between uses of particular extruders. For example, while the first extruder 130 is in use to form a first portion of a physical model, the timers 144, the material counters 145, or both, may reach a value indicating that cleaning is needed. After the first operations being performed by the first extruder 130 is complete (e.g., when an end point associated with the first extruder 130 is reached), the cleaning operation may be performed. The cleaning operation may include cleaning and/or purging the first extruder 130, the second extruder 132, the Nth extruder, or a combination thereof. After the cleaning operation has been performed, printing operations may resume, for example, with the second extruder depositing the second material 122 to form a second portion of the 3D model of the physical object.
In a particular embodiment, the memory 142 includes cleaning and purging control instructions 147. The cleaning and purging control instructions 147 may include instructions (e.g., a cleaning sequence of instructions, a purging sequence of instructions, or both) that facilitate cleaning and purging of the printheads 113-115. For example, when the controller 141 determines that a cleaning operation is to be performed, the controller 141 may interrupt operations being performed at the 3D printing device 101 and execute the cleaning sequence of instructions of the cleaning and purging control instructions 147. As another example, when the controller 141 determines that a purging operation is to be performed, the controller 141 may interrupt operations being performed at the 3D printing device 101 and execute the purging sequence of instructions of the cleaning and purging control instructions 147.
In some implementations, the cleaning and purging control instructions 147 may include thresholds associated with the timers 144, thresholds associated with the material counters 145, or both. To illustrate, the thresholds may include a cure time associated with the mixture 128 or a threshold time that precedes the cure time at which the mixture 128 is to be purged and/or cleaned. As another example, the thresholds may include a downtime limit associated with one or more of the printheads 113-115. The downtime limit may be used to determine whether one or more of the printheads 113-115 should be cleaned based on a downtime of the particular printhead. As another example, the thresholds may include use time thresholds associated with the particular printhead 113-115. The use time thresholds may indicate how long a particular printhead 113-115 can be in use before cleaning and/or purging of the particular printhead 113-115 is needed. As another example, the thresholds may include material quantity thresholds that indicate how much material a particular printhead 113-115 can deposit before cleaning and/or purging of the particular printhead 113-115 is needed. In some implementations, the thresholds may be stored as part of the settings 150.
The cleaning and purging control instructions 147 may also include instructions that cause more than one printhead to be cleaned at a time. For example, when the timers 144 or the material counters 145 indicates that the first printhead 113 is to be cleaned, the cleaning and control instructions 147 may also cause the second printhead 114, the Nth printhead 115, or both, to be cleaned, so that multiple cleaning operations are performed concurrently or sequentially to reduce interruption to print operations.
The memory 142 may also include calibration data 148. The calibration data 148 may include information that indicates relative positions of the printheads 113-115. In the particular example illustrated in
The memory 142 may also include test print data 151. The test print data 151 may be used to generate at least a portion of the calibration data 148. For example, the test print data 151 may include commands to generate one or more test print objects using multiple of the printheads 113-115. Positions, orientations, and other information about the test print objects may be measured after a test print is performed and the measurements may be used to adjust the calibration data 148. For example, the 3D printing device 101 may include a measurement device, such as a scanning device (not shown), that automatically measures the test print objects. Alternately, the test print objects may be manually measured and updated calibration data may be provided via a user interface (not shown) or via the computing device 102. The memory 142 may also include end-of-line-technique instructions 149. The end-of-line-technique instructions 149 include instructions that enable formation of line ends having a target width without undesired characteristics, such as bulges and blobs. Thus, the printing device of
The illustrations of the examples described herein are intended to provide a general understanding of the structure of the various implementations. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other implementations may be apparent to those of skill in the art upon reviewing the disclosure. Other implementations may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. For example, method operations may be performed in a different order than shown in the figures or one or more method operations may be omitted. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
Moreover, although specific examples have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar results may be substituted for the specific implementations shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various implementations. Combinations of the above implementations, and other implementations not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
The Abstract of the Disclosure is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single implementation for the purpose of streamlining the disclosure. Examples described above illustrate but do not limit the disclosure. It should also be understood that numerous modifications and variations are possible in accordance with the principles of the present disclosure. As the following claims reflect, the claimed subject matter may be directed to less than all of the features of any of the disclosed examples. Accordingly, the scope of the disclosure is defined by the following claims and their equivalents.
This application claims the benefit of U.S. Provisional Patent Application No. 62/208,222, filed Aug. 21, 2015 and entitled “Closed-Loop 3D Printing Incorporating Sensor Feedback,” U.S. Provisional Patent Application No. 62/340,389, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” U.S. Provisional Patent Application No. 62/340,421, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” U.S. Provisional Patent Application No. 62/340,453, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTING DEVICE,” U.S. Provisional Patent Application No. 62/340,436, filed May 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” and U.S. Provisional Patent Application No. 62/340,432, filed May 23, 2016 and entitled “3D PRINTER CALIBRATION AND CONTROL;” the contents of each of the aforementioned applications are expressly incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62208222 | Aug 2015 | US | |
62340389 | May 2016 | US | |
62340421 | May 2016 | US | |
62340453 | May 2016 | US | |
62340436 | May 2016 | US | |
62340432 | May 2016 | US |