At this weekend’s World Maker Faire, one of the exciting announcements came from MakerBot Industries, with their release of a new Stepstruder MK7 extruder head and their demoing of the experimental use of the MK7 in a dual-head, two-color MakerBot. I asked Noah Levy, one of the developers at MakerBot who’s working on the “dualstrusion” project, a few questions. Here’s what he had to say:
Gareth Branwyn: First off, can you tell us a little more about what one needs to do to participate in the public beta? Noah Levy: In order to get involved in experimental dual extrusion, you need an additional MK7, an additional extruder controller, and an additional stepper driver. In the coming days, we will post comprehensive instructions for assembly and operation on our website.
Gareth: Where are the required program files? Noah: The code for the version of ReplicatorG that supports experimental dual extrusion is available on our git page. As of right now, it has no compiled version, but it can be run by following the instructions for compiling ReplicatorG. A compiled version may be made available sometime in the future.
Gareth: What else does one have to do hardware-wise to set up a dualstrusion printer? Noah: The process to attach a second extruder is pretty straight-forward. Basically, it’s just bolting an extra MK7 onto the mounting bracket and hooking up its electronics. Detailed instructions will be available on the website soon.
Gareth: Can you explain, as succinctly as possible, how the dual-printing process is handled in software? Noah: The process was thought up by Ben Rockhold, Tom Delaney, Will Langford, Charles Pax, and myself. To the user, it appears that either .stl or .gcode files can be merged, however the program only merges G-code. When given .stl files, it first skeins them into G-code and then merges them together. G-code files are really just motor commands separated into “layers,” chunks of commands at a specific height, therefore, we were able to divide the merging process into merging layers. Essentially, the dual extrusion G-code generation process is like shuffling cards. In the “shuffle,” it compares the gcodes by layer, and if both G-codes have a layer at a specific height, it adds a “toolchange” (wipe) between them and merges them into one layer in the resulting code. If only one layer exists at a specific height. it just adds that layer to the resulting G-code. It only uses a toolchange if the color has changed from the last layer. The major optimization added onto this process is that in a sequence of many two color/material layers, it will begin any given layer in the same color/material that the last layer ended in. This eliminates many unnecessary toolchanges. For instance, rather than printing red – wipe – green – wipe – red – wipe – green – wipe it will print red – wipe – green – green – wipe – red. By eliminating these unnecessary toolchanges when printing in two colors/materials, and not having any toolchanges between layers of the same color, we ensure the minimum amount of time spent not printing.
This process still has some bugs, therefore it is still an “experimental” feature, but we’re really excited to see what people make with it!
Gareth: We’re excited, too. Thanks for your time, Noah. It was great meeting you at the Faire.
If any of our MAKE readers become beta testers of the “dualstrusion” process, we’d love for you to share your experiences with us.