U.S. patent application number 15/217723 was filed with the patent office on 2017-02-23 for system and method to control a three-dimensional (3d) printing device.
The applicant listed for this patent is Voxel8, Inc.. Invention is credited to Travis Busbee, Max Eskin, John Minardi, Jonathan Tran.
Application Number | 20170052516 15/217723 |
Document ID | / |
Family ID | 58157351 |
Filed Date | 2017-02-23 |
United States Patent
Application |
20170052516 |
Kind Code |
A1 |
Minardi; John ; et
al. |
February 23, 2017 |
SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTING
DEVICE
Abstract
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.
Inventors: |
Minardi; John; (Somerville,
MA) ; Busbee; Travis; (Somerville, MA) ; Tran;
Jonathan; (Somerville, MA) ; Eskin; Max;
(Somerville, MA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Voxel8, Inc. |
Somerville |
MA |
US |
|
|
Family ID: |
58157351 |
Appl. No.: |
15/217723 |
Filed: |
July 22, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62208222 |
Aug 21, 2015 |
|
|
|
62340389 |
May 23, 2016 |
|
|
|
62340421 |
May 23, 2016 |
|
|
|
62340453 |
May 23, 2016 |
|
|
|
62340436 |
May 23, 2016 |
|
|
|
62340432 |
May 23, 2016 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
B29C 64/106 20170801;
Y02P 90/265 20151101; B29C 64/393 20170801; B33Y 50/02 20141201;
B29B 7/72 20130101; B29C 64/124 20170801; G05B 2219/35134 20130101;
G05B 19/4099 20130101; B29C 64/118 20170801; B33Y 30/00 20141201;
B29C 64/35 20170801; B29B 7/74 20130101; G05B 2219/49007 20130101;
B33Y 10/00 20141201 |
International
Class: |
G05B 15/02 20060101
G05B015/02; B33Y 50/02 20060101 B33Y050/02 |
Claims
1. A method comprising: 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; 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,
wherein, in the model space, the second 3D model intersects the
first 3D model; and 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,
wherein the physical model defines a void region to receive a
physical instance of the second object.
2. The method of claim 1, wherein the machine instructions do not
include instructions to generate a second physical model of the
second object.
3. The method of claim 1, further comprising: receiving tagging
data indicating that the second object is a non-printing object;
and determining dimensions of the void region based on dimensions
of the second object and based on the tagging data.
4. The method of claim 1, wherein a cross-sectional shape of the
void region is determined based on a cross-sectional shape of the
second object.
5. The method of claim 1, further comprising determining dimensions
of the void region based on dimensions of the 3D printing
device.
6. The method of claim 1, further comprising 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.
7. The method of claim 1, wherein generating the machine
instructions includes: 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; designating a
particular layer of the plurality of layers as an insertion layer;
and including a print interrupt command in the machine instructions
such that a printing operation is interrupted after the 3D printing
device deposits material corresponding to the insertion layer.
8. The method of claim 7, wherein the print interrupt command, when
executed, causes a notification to be sent to another device.
9. The method of claim 1, wherein the second object corresponds to
an electrical component.
10. The method of claim 1, further comprising obtaining third model
data specifying a third 3D model of an electrical interconnect, the
third model data indicating a location of the third 3D model
relative to the model space, wherein, in the model space, the third
3D model intersects the first 3D model, and wherein the third model
data is processed with the first model data and the second model
data to generate the machine instructions.
11. The method of claim 10, wherein a first portion of the physical
model corresponds to the first 3D model and a second portion of the
physical model corresponds to the third 3D model.
12. The method of claim 11, wherein the machine instructions are
executable to cause the 3D printing device to deposit a first
material to form the first portion of the physical model and to
deposit a second material to form the second portion of the
physical model.
13. The method of claim 12, wherein processing the first model
data, the second model data, and the third model data comprises:
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; 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; and generating a notification
suggesting manual intervention during formation of the physical
model.
14. The method of claim 10, wherein generating the machine
instructions includes: 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; designating a
particular layer of the plurality of layers as an interconnect
deposition layer; and including a command in the machine
instructions to deposit material corresponding to at least a
portion of the electrical interconnect after deposition of material
corresponding to the interconnect deposition layer.
15. The method of claim 14, wherein the portion of the electrical
interconnect is deposited on a layer lower than the interconnect
deposition layer.
16. The method of claim 14, wherein the machine instructions
further include a print interrupt command such that a printing
operation is interrupted after the 3D printing device deposits
material corresponding to at least a portion of the electrical
interconnect.
17. A computer-readable storage device storing instructions that
are executable by a processor to cause the processor to perform
operations comprising: 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; 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,
wherein, in the model space, the second 3D model intersects the
first 3D model in the model space; and 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, wherein the physical model defines a void region
to receive a physical instance of the second object.
18. A computing device comprising: a processor; and a memory
accessible to the processor, the memory storing instructions that
are executable by the processor to cause the processor to perform
operations comprising: 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; 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,
wherein, in the model space, the second 3D model intersects the
first 3D model in the model space; and 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, wherein the physical model defines a void region
to receive a physical instance of the second object.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] 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.
FIELD OF THE DISCLOSURE
[0002] The present disclosure is generally related to control of a
three-dimensional (3D) printing device.
BACKGROUND
[0003] 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.
SUMMARY
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 is a block diagram that illustrates a system that
includes a three-dimensional (3D) printing device and a slicer
application, according to a particular embodiment;
[0009] FIG. 2 is a block diagram that illustrates data flow among a
computing device that includes a slicer application and a 3D
printing device;
[0010] FIG. 3 is a diagram that illustrates a process of generating
a sliced model;
[0011] FIG. 4 is a diagram that illustrates a particular embodiment
of a method of slicing a 3D model to form commands to control a 3D
printing device;
[0012] FIGS. 5, 6, 7, 8, 9, 10, 11, 12, 13, and 14 illustrate
various stages during printing of a physical model of the 3D model
of FIG. 4; and
[0013] FIG. 15 is a flow chart that depicts an example of a method
that may be performed by the system of FIG. 1.
DETAILED DESCRIPTION
[0014] 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.
[0015] 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).
[0016] 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.
[0017] FIG. 1 illustrates a particular embodiment of a system 100
that includes a 3D printing device 101, a computing device 102, and
a slicer application 108. The 3D printing device 101 and the
computing device 102 may be coupled via a communications bus 160,
which may include a wired communications interface, a wireless
communications interface, or both. The 3D printing device 101 is
configured to generate physical models of objects based on a 3D
model or commands based on model data.
[0018] 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.
[0019] 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
FIG. 1, the commands 109 may include G-code commands or other
machine instructions that are executable by the 3D printing device
101 (or a portion thereof). For model data (e.g., the model data
107) that includes one or more 3D models of multiple objects, the
slicer application 108 may process the model data 107 to generate a
single integrated model with one or more void regions that
correspond to one or more objects of the multiple objects. The
slicer application 108 may generate instructions to enable an
electrical component (e.g., a non-printed component) to be inserted
into a void region, to form (e.g., deposit conductive material)
electrical or circuit components (e.g., electrical contacts,
resistors, transistors, capacitors, inductors, etc.) in a void
region, or both. The slicer application 108 is described in further
detail with respect to FIGS. 2-4.
[0020] 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.
[0021] 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
FIG. 1, the 3D printing device 101 includes a first printhead 113,
a second printhead 114, and an Nth printhead 115. Although three
particular printheads are illustrated in FIG. 1, in other
embodiments, the 3D printing device 101 may include more than three
printheads or fewer than three printheads. Each printhead 113-115
includes a corresponding extruder with an extruder tip. For
example, the first printhead 113 includes a first extruder 130
having a first extruder tip 131, the second printhead 114 includes
a second extruder 132 having a second extruder tip 133, and the Nth
printhead 115 includes an Nth extruder 134 including an Nth
extruder tip 135.
[0022] 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 FIG. 1, the first component container
123 and the second component container 125 are coupled to the mixer
127 to enable the mixer 127 to generate a mixture 128 that includes
a portion of the first component 124 and a portion of the second
component 126. The first component 124 and the second component 126
may be selected to begin hardening upon mixing. Thus, the mixture
128 may begin curing as soon as the mixer 127 has mixed the
components.
[0023] 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.
[0024] 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.
[0025] FIG. 2 illustrates a block diagram showing data flow among
various components of the computing device 102 and the 3D printing
device 101. In particular, the block diagram of FIG. 2 illustrates
data that is communicated between the 3D modeling application 106,
the slicer application 108, the 3D printing device 101, and one or
more external devices, such as an external device 240. In FIG. 2, a
3D modeling application 106 may be used to generate, access, or
modify 3D models of one or more objects. For example, the 3D
modeling application 106 may be used to obtain first model data
corresponding to a first 3D model 202. The first model data may
specify a 3D model of a first object and may indicate a location of
the first 3D model 202 in a model space 208. The model space 208
may include a coordinate system and scale information. For example,
the model space 208 may indicate positions relative to an origin
point along an X direction or X-axis, a Y direction or Y-axis, and
a Z direction or a Z-axis.
[0026] 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.
[0027] 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.
[0028] Additionally, one or more of the 3D models 202-206 may
correspond to a non-printing object. For example, in the example
illustrated in FIG. 2 and FIG. 3, the second 3D model 204
corresponds to a non-printing object (e.g., an electrical
component) to be inserted in a physical model of an object
corresponding to the first 3D model 202. In this example, the
electrical interconnects described by the third 3D model 206 may
provide circuitry or communication paths associated with the
electrical component to enable the electrical component and the
electrical interconnect to form a functional circuit within the
physical object defined by the first 3D model 202, the second 3D
model 204, and the third 3D model 206.
[0029] 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.
[0030] Referring to FIG. 3, an example of a process performed by
the computing device 102 is illustrated graphically. For example,
the first 3D model 202 of FIG. 2 is illustrated in FIG. 3 as
corresponding to a first 3D model of an object formed of a matrix
material. Additionally, the second 3D model 204 of FIG. 2 is
illustrated in FIG. 3 as corresponding to an object tagged as a
non-printing object, such as an electrical device that has one or
more contacts 302. Further, the third 3D model 206 of FIG. 2 is
illustrated in FIG. 3 as corresponding to as a set of electrical
interconnects. The first 3D model, second 3D model, and third 3D
model are represented in FIG. 3 as three distinct 3D models, each
of which may be defined relative to the model space (e.g., the
model space 208). The first 3D model intersects the second 3D model
and the third 3D model in the model space. For example, at least
one point of a coordinate system of the model space is associated
with the first 3D model 202 and the second 3D model 204. To
illustrate, 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.
[0031] Returning to FIG. 2, after the model data 107 and the
tagging data 212 are obtained by the slicer application 108, the
slicer application 108 may process the model data 107 and the
tagging data 212 to generate commands 109 to be provided to the 3D
printing device 101. For example, the commands 109 may include
G-code, or other information, to direct a 3D printing device 101
regarding steps to perform to generate a physical model
corresponding to the model data 107. The model data 107 may include
information regarding each of the 3D models 202-206, information
regarding the model space 208, other information, such as
definitions of materials, etc. In some implementations, the model
data 107 may include the tagging data 212.
[0032] 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.
[0033] 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.
[0034] 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 FIG. 11.
The interconnecting deposition layers 226 may include information
indicating when an electrical interconnect material (e.g., the
filler material) is to be deposited prior to insertion of a
physical instance of a non-printing object. To illustrate,
returning to FIG. 3, the non-printing object corresponding to the
second 3D model 204 includes the contacts 302. In the example
illustrated in FIG. 3, one of the contacts 302 is on the bottom of
the non-printing object. To provide sufficient electrical
connection between the contact 302 on the bottom of the
non-printing object and an electrical interconnect printed by the
3D printing device, additional material (e.g., electrical
interconnect material) may be deposited at a layer lower than a
highest most layer printed by the 3D printing device to provide
fresh electrical interconnect material just before insertion of the
non-printing object. Further, description of the interconnect
deposition layer 226 and insertion layer 224 is described with
reference to FIGS. 8-11 for clarity.
[0035] 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 FIGS. 12 and 13.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] Thus, FIG. 2 describes how a slicer application may process
multiple models to generate instructions that enable a 3D printing
device to deposit materials to form a physical model that includes
void regions. The void regions may be configured to receive a
physical instance of a non-printing object and a functional circuit
may be formed in the physical object.
[0040] FIG. 3, as previously indicated, illustrates a first stage
of generation of the sliced model. For example, in FIG. 3, the
first 3D model 202, the second 3D model 204, and the third 3D model
206 may be combined to generate a sliced model. In a particular
operation, the first model data (e.g., a portion of the model data
107) corresponding to the first 3D model 202 may be modified to
define a void region 304 corresponding to the second 3D model
204.
[0041] 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.
[0042] 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 1
310 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.
[0043] 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, FIG. 3 illustrates
formation of a sliced model 330 and identification of particular
layers.
[0044] FIG. 4 illustrates multiple steps associated with generating
commands 109, such as G-code instructions, based on a 3D model of
an object. In FIG. 4, the 3D model corresponds to the sliced model
330 of FIG. 3. In operation, other 3D models, including 3D models
having different shapes, different materials, etc. may be used. The
3D model may include or be based on the model data 107 of FIG. 1.
In FIG. 4, the sliced model 330 is formed of multiple materials,
including the first material 120 and the second material 122. In
the example illustrated in FIG. 4, the first material 120 is used
as a matrix material, and the second material 122 is used as a
filler material.
[0045] 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 FIG. 3, preliminary slicing is performed to generate
the sliced model 330. The sliced model 330 includes multiple slices
404, 406, only two of which are illustrated. Each slice 404, 406
represents a single layer of a physical model based on the 3D
model. Each layer of the physical model includes one or more
materials. Accordingly, each slice 404, 406 may be divided into
regions, with each region corresponding to a particular material.
For example, the slice 404 includes a first region corresponding to
a portion of the first material 120 and a second region
corresponding to a portion of the second material 122. The slice
406 includes a first region corresponding to a portion of the first
material 120 and a second region in which no material is
present.
[0046] 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 FIG. 1. Alternately, the settings 150, the
calibration data 148, or both, may be accessible at the memory 104
of the computing device 102 of FIG. 1.
[0047] In the example illustrated in FIG. 4, the slice 414 is
modified relative to the slice 404 of the sliced model 330. For
example, in the slice 414, a larger second region associated with
the second material has been provided. The second region of the
slice 414 may be determined based on dimensions associated with an
extruder that deposits the second material. To illustrate, a size
of the second region of the slice 414 may be determined based on a
size of second extruder tip 133. For example, in order to improve
interlayer adhesion and/or printing characteristics, the slicer
application 108 may determine that, when the physical model is
printed, a portion of the second material 122 will be embedded
within the physical model (e.g., entirely enclosed by the first
material). Accordingly, the slicer application may determine that
an injection technique may be used to deposit at least the embedded
portion of the second material. The injection technique may inject
the second material into a tunnel formed by void regions in
multiple layers of the first material (rather than depositing
multiple layers of the second material, with one layer
corresponding to one slice of the sliced model 330).
[0048] 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 FIGS. 10 and 13.
[0049] As illustrated in FIG. 4, the slicer application may modify
some slices to enable the layer to be deposited using injection
techniques. The modified slices may improve printing using
injection techniques by, for example, widening the area 412 to
enable the second extruder tip 133 to fit within the opening
correspondent to the area 412.
[0050] 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.
[0051] 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
FIG. 4, tool paths may also be generated for the polygons 420-426
and other slices of the modified sliced model 410. The tool paths
associated with slices and materials together are illustrated in
FIG. 4 as a sliced and tool pathed model 440. The sliced and tool
pathed model 440 may be processed to generate the commands 109.
[0052] 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 FIG. 5, a tool path for multiple
layers of a single material may be generated such that a line of
material of a first layer extends to a second layer, where the
second layer is stacked on the first layer.
[0053] 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 FIG. 14.
[0054] Further, as described above and with reference to FIGS.
10-13, one material may be injection-molded within another
material. For example, the sliced and tool pathed model 440 is
arranged such that a portion of the second material 122 is injected
within cavities defined within the first material 120.
[0055] Thus, FIG. 4 illustrates operations that can be formed by a
slicer application, such as the slicer application 108, to improve
printing device performance, to improve interlayer adhesion, and to
reduce starting and stopping of printing with a particular
printhead (e.g., within a particular layer as well as in between
layers). The commands 109 (e.g., G-code) may be provided to a 3D
printing device, such as the 3D printing device 101 of FIG. 1, to
generate a physical model of the sliced and tool pathed model
440.
[0056] FIGS. 5-14 illustrate particular aspects of forming a
physical object based on a 3D model. In the examples illustrated in
FIGS. 5-14, particular aspects of the first 3D model 202, the
second 3D model 204, and the third 3D model 206 are used as
examples. For example, the commands 109 may be executed by the 3D
printing device of 101 of FIG. 1 to build a physical model of the
sliced and tool pathed model 440 of FIG. 4.
[0057] FIG. 5 illustrates an extruder 502 coupled to a support
member 111 and to a drive belt 510. The extruder 502 may include,
correspond to, or be included within one of the extruders 130, 132,
134 of FIG. 1. Although the examples illustrated in FIGS. 5-14
include a drive belt 510 coupled to an actuator (not shown), in
other examples, the extruder 502 may be coupled to other actuators
or devices to move the extruder 502 relative to the deposition
platform 112. Alternately, the deposition platform 112 may be moved
relative to the extruder 502.
[0058] In the example illustrated in FIG. 5, during a first stage
of formation of the physical model, the extruder 502 is moved in a
direction 506 to form a portion of a first stack 504. The portion
of the first stack 504 may correspond to the first stack 430 of
FIG. 4. FIGS. 5-14 are illustrated from a front view, however; as
illustrated more clearly by the tool path 434 of the first stack
430 of FIG. 4, the first stack 504 may include multiple lines or
rows of material per layer. In FIG. 5, the first stack 504 may be
arranged such that a line extends from a first layer onto a second
layer, where the second layer is stacked on the first layer. Thus,
in FIG. 5, a portion of the extruded material (e.g., a first
material) is stacked, at 508. Stacking the material, as illustrated
at 508, may facilitate interlayered adhesion between layers of the
first stack 504.
[0059] FIG. 6 illustrates a second stage during formation of the
physical model. The second stage may be subsequent to the first
stage. In FIG. 6, the extruder 502 is moved in a U-turn or curve
512 in order to follow a tool path, such as the tool path 434
illustrated in FIG. 4, to complete the stack 504. The tool path may
enable using a single continuous line of extruded material to form
multiple rows of material in a layer.
[0060] FIG. 7 illustrates a third stage of formation of the
physical model. The third stage may be subsequent to the second
stage. In FIG. 7, the first stack 504 has been completed to a
height (i.e., second height 522) determined based on
characteristics of the 3D printing device being used. The second
height 522 may be selected by the slicer application described with
reference to FIG. 4, by the computing device 102, or by the
controller 141 of the 3D printing device 101. The second height 522
is less than a distance (e.g., first height 520) between the tip of
the extruder 502 and the support member 111 coupled to the extruder
502. For example, the second height 522 may be less than the first
height 520 by an amount that is less than a thickness of one layer
of the first stack (or by an amount that is less than two layers of
the first stack 504) to provide clearance for depositing another
stack (such as the second stack 514). Thus, the extruder 502 may be
able to deposit abase layer of the second stack 514 on the
deposition platform 112 without the first stack 504 coming in
contact with the support member 111.
[0061] FIG. 8 illustrates a fourth stage during formation of the
physical model. The fourth stage may be subsequent to the third
stage. In FIG. 8, layers of the first material (e.g., the matrix
material) have been deposited to join the first stack 504 with the
second stack 514, and electrical interconnects are partially formed
from depositing layers of a second material (e.g., filler material)
in the first stack 501 and the second stack 514. For example, the
electrical interconnects 320 are partially formed into a joined
first and second stack 824. To illustrate, the electrical
interconnects 320 may be formed by an extruder (e.g., a second
extruder) depositing a portion of the filler material (e.g.,
interconnect material).
[0062] FIG. 9 illustrates a fifth stage during formation of the
physical model. The fifth stage may be subsequent to the fourth
stage. FIG. 9 illustrates forming a void region for a physical
instance of a second object. For example, the first material (e.g.,
matrix material) and the second material (e.g., the interconnect
material) and may be deposited by one or more extruders to form or
define the void region 304. To illustrate, the fifth stage
illustrates a formation of sidewalls that define the void region
304. The sidewalls may be formed from the second material to define
the void region, the electrical interconnects 320, or both.
[0063] FIG. 10 illustrates a sixth stage during formation of the
physical model. The sixth stage may be subsequent to the fifth
stage. In FIG. 10, an additional bit of the second material (e.g.,
the interconnect material) is deposited after the void region 304
is formed and before insertion of the physical instance of the
second object. For example, fresh electrical interconnect material
322 is deposited in the void region 304 to electrically couple the
physical instance of the second object to the electrical
interconnects 320. To illustrate, a portion of the electrical
interconnect material 322 is deposited on a portion of the
electrical interconnects 320 which is located on a lower layer than
a last printed layer 1002.
[0064] FIG. 11 illustrates a seventh stage during formation of the
physical model. The seventh stage may be subsequent to the fifth
stage. In FIG. 11, the physical instance of the second object has
been inserted into the void region 304 and placed in contact with
the electrical interconnect material 322, the contacts 302, or a
combination thereof. The physical instance of the second object may
be electrically coupled to the contacts 302, the electrical
interconnects 320, or both, via the electrical interconnect
material 322.
[0065] FIG. 12 illustrates an eighth stage during formation of the
physical model. The eighth stage may be subsequent to the seventh
stage. In FIG. 12, a portion of the first material has been
deposited to form a second void region 1206 in the physical model.
The second void region may include or correspond to a portion of
the void regions 306. The second void region 1206 may define a
shape of the electrical interconnect 324. In other implementations,
the second void region 1204 may define a second shape that is
larger than the shape of the electrical interconnect 324. For
example, an extruder may not fit in (extend into) the second void
region when the shape is smaller than a cross section of the
extruder. As illustrated, in FIG. 12, the second shape of the
second void region may be larger (e.g., wider at the top) than the
shape of the electrical interconnect 324 as modeled.
[0066] FIG. 13 illustrates a ninth stage during formation of the
physical model. The ninth stage may be subsequent to the eighth
stage. In FIG. 13, after formation of the second void region, a
portion of the second material is deposited to form the electrical
interconnect 324. The electrical interconnect 324 may be
electrically coupled to the physical instance of the second object,
the electrical interconnects 320, or a combination thereof.
Alternatively, a third material may be deposited to form the
electrical interconnect 326.
[0067] FIG. 14 illustrates a tenth stage during formation of the
physical model. The tenth stage may be subsequent to the ninth
stage. In FIG. 14, a portion of the first material is deposited on
the electrical interconnect 324 to form a last layer. Deposition of
the portion completes formation of a physical model 1402
corresponding to the sliced and tool pathed model 440 of FIG.
4.
[0068] FIG. 15 is a flowchart of a particular embodiment of a
method 1500 that may be performed by one or more devices or
components of the system 100 of FIG. 1. For example, the method
1500 may be performed by the slicer application 108 of FIGS. 1 and
2. As another example, a slicer application of the 3D printing
device may perform the method 1500 by executing instructions from
the memory 142. As yet another example, the method 1500 may be
performed by the processor 103 of the computing device 102
executing instructions from the memory 104.
[0069] 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 FIG. 1 may receive or retrieve the model data
107 from the modeling application 106. As another example, the
slicer application 108 may obtain the model data 107 by receiving
or retrieving the model data 107 via the communication interface
146. As yet another example, the processor 103 of FIG. 1 may obtain
the model data 107 by reading the model data 107 from the memory
104. The model data 107 may include or correspond to one or more of
the first 3D model 202, the second 3D model 204, or the third 3D
model 206 of FIG. 2.
[0070] 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 FIG. 2 may receive or retrieve the second model
data. In some implementations, the second object may include or
correspond to an electrical component.
[0071] 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 FIGS. 3 and 4, to
generate the commands 109 (e.g., the machine instructions). The
void region may include or correspond to the void region 304 of
FIG. 3. The physical model may include or correspond to the
physical model 1402 of FIG. 14.
[0072] The machine instructions may include or correspond to the
commands 109 of FIGS. 1, 2, and 4, the machine instructions 230 of
FIG. 2, or both. In a particular implementation, the machine
instructions 230 may include the commands 109. In some
implementations, the machine instructions may include or correspond
to G-code commands. The machine instructions may be generated by
the slicer application 108 of the computing device 102.
Alternatively, if the 3D printing device 101 includes a slicing
application, the machine instructions may be generated by the
controller 141 or another processor of the 3D printing device
101.
[0073] 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.
[0074] 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 FIG. 2. The method may also
include determining dimensions of the void region based on
dimensions of the second object and based on the tagging data. In a
particular implementation, a cross-sectional shape of the void
region is determined based on a cross-sectional shape of the second
object.
[0075] 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.
[0076] 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 FIG. 2, and the plurality of layers may include or
correspond to the layers 222 of FIG. 2. Generating the machine
instructions may further include including a print interrupt
command in the machine instructions such that a printing operation
is interrupted after the 3D printing device deposits material
corresponding to the insertion layer. For example, the print
interrupt command may include or correspond to the interrupts 232
of FIG. 2. In a particular implementation, the print interrupt
command, when executed, may cause a notification to be sent to
another device, such as a user device.
[0077] 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 FIG. 2 and may be included
in the model data 107 of FIG. 2. In a particular implementation, a
first portion of the physical model corresponds to the first 3D
model and a second portion of the physical model corresponds to the
third 3D model. In some implementations, the machine instructions
are executable to cause the 3D printing device to deposit a first
material to form the first portion of the physical model and to
deposit a second material to form the second portion of the
physical model.
[0078] 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 FIG. 2.
[0079] 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 FIG. 2.
Generating the machine instructions may further include including a
command in the machine instructions to deposit material
corresponding to at least a portion of the electrical interconnect
after deposition of material corresponding to the interconnect
deposition layer. For example, the electrical interconnect may
include or correspond to one or more of the electrical
interconnects 320-324 of FIG. 3. In a particular implementation,
the portion of the electrical interconnect is deposited on a layer
lower than the interconnect deposition layer. In some
implementations, the machine instructions further include a print
interrupt command such that a printing operation is interrupted
after the 3D printing device deposits material corresponding to at
least a portion of the electrical interconnect.
[0080] 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 FIG. 1 are generated, the commands 109 may be stored at the
memory 104 of the computing device 102, sent to the 3D printing
device 101, or both.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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 FIG. 1. The memory 104 may be accessible
to the processor 103 and the memory 104 may store instructions that
when executed cause the processor 103 to perform one or more
operations of the method 1500. In some implementations, the memory
104 may include or correspond to a computer-readable storage
device.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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).
[0090] 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.
[0091] 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.
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] 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.
[0100] 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.
[0101] 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).
[0102] 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.
[0103] 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.
[0104] 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.
[0105] Referring back to FIG. 1, the 3D printing device 101 of FIG.
1 may also include one or more cleaning stations 136, one or more
purging stations 137, or both. The cleaning stations 136 may be
configured to clean one or more extruder tips, such as the first
extruder tip 131, the second extruder tip 133, the Nth extruder tip
135, or a combination thereof. In the examples illustrated herein,
each extruder tip 131, 133, 135 may be associated with a
corresponding cleaning station, as described further below.
However, in other examples, one cleaning station may be used for
multiple extruder tips 131, 133, 135. The cleaning station 136 may
include a scraper, brushes, or other devices that are used to
remove particulate or other foreign matter from the extruder tips
131, 133, 135. In some examples, the cleaning station 136 may be
movable relative to the frame 110 or printheads 113-115. For
example, the cleaning station 136 may move to the printheads
113-115 to clean the corresponding extruder tip rather than the
printheads 113-115 moving to the cleaning station 136.
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] 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 FIG. 1, the printheads 113-115 may be
independently movable by corresponding actuators 143 or may be
movable together by one or more actuators 143. The calibration data
148 may indicate distances between printheads 113-115, extruder
tips 131, 133, 135, or both. Additionally, or in the alternative,
the calibration data 148 may include information about ramp up
speeds associated with the actuators 143. For example, the ramp up
speeds may indicate how quickly a particular printhead 113-115 can
accelerate from stopped to a specified velocity. As another
example, the calibration data 148 may include extrusion rates or
deposition rates associated with one or more of the printheads
113-115 based on particular control parameters, such as temperature
of the extruder or extruder tip, pressure applied to the extruder
or extruder tip, a type of material being deposited, a material
feed rate, or a combination thereof. For example, the calibration
data 148 may include rheology data based on temperature associated
with the first material 120, the second material 122, or the
mixture 128. As another example, the calibration data 148 may
include rheology data associated with the mixture 128 over
time.
[0115] 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 FIG. 1 may be able to clean extruders based on
commands or instructions from a slicer application to increase
quality of a print job.
[0116] 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.
[0117] 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.
[0118] 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.
* * * * *