Welcome to DualStrusion!

This page details experimental DualStrusion with a customized Thing-O-Matic. For information on printing in two materials on a Dual Stepstruder MK8 Replicator, see the Replicator DualStrusion page. Note that some material on this page will refer to an older version of the ReplicatorG software.

Warning!

Multiple head extrusion is now possible, but it is not ready for general or production use.  Don’t expect to turn your bot on and be able to print with multiple heads without spending time troubleshooting brand-new issues.  We’re just figuring this out now, and we’re inviting you, the community to get involved.  While it’s very exciting, it also means that our technical support crew might not be able to give you all the answers you need because this is the edge of the unknown!

Overview

Multiple print-head technology allows for printed objects with features in different colors and materials. Multiple colors enable much greater detail in a print, or the highlighting of a single component in an assembly. Multiple materials provide for much more complex structures in the print, such as support material that can be easily removed, or features that take advantage of a difference in physical properties — for example a support structure for an otherwise impossible to print complex shape.
To get ready for DualStrusion, you’ll need to do a few things:

  1. Get all the additional parts you need for a Dual-Extruder setup
  2. Build your DualStrusion kit
  3. Prepare your designs for DualStrusion, using two .stl files that match up
  4. Merge the designs together into one gcode-enabled file.
  5. Print it!

The script built into ReplicatorG operates by iterating through two separate and independently generated GCode files, and combines the layers they describe into a single GCode file. Other data is pulled from Skeinforge comments to make sure the heads are able to support different material properties, and no layers get skipped over.

While the benefits to dual extrusion are really great, creating objects that can utilize both tool heads is also a complex process. Here we illustrate best practices and explain how to design for best results.

Gather the additional parts for DualStrusion

Here’s what you need for a working DualStusion setup for Thing-O-Matic:

  1. A second Stepstruder® MK7, with an additional stepper driver
  2. A second extruder controller board for temperature control
  3. A few spacers to make wiring your second extruder board a bit easier.

Once those show up, you’ll have everything you need to get going!

Build your DualStrusion setup!

This is a bit of a long step, so there’s a separate page dedicated to the build process.

Basically, you’ll be building two complete MK7 Stepstruders®; one in the same configuration as with a single-extruder, and one in a mirrored setup.  Then you’ll attach both extruders to a single mount plate.  You’ll want more detail than that, though, so check it out here!

Assign toolhead indices!

Before you can go ahead and use the DualStrusion features in ReplicatorG, you’ll need to set one of your extruders as “Toolhead 1.”  If you don’t do this, then you’ll get an error message when you try to connect to your bot with a dual-extruder driver.

To do this, connect only the extruder controller that you want to set as Toolhead 1.  If you leave both extruders connected, you’ll set the toolhead index for both of the extruders at once — which won’t help.

Once you have the proper extruder connected, click the on the “Set Toolhead Index…” option in the “Machine” menu.

Then set the number to “1” and click “Set Index.”

Now you should be set to get started with the amazing frontiers of DualStrusion!

Designing for DualStrusion

Requirements for Design

Normally, the STL filetype used for 3D printing does not have any kind of support for multiple objects or different materials. This is because an STL simply describes a list of triangles that make up the 3D model — it does not have any other information about the objects these triangles form.

However, most 3D modeling tools do allow for creating numerous objects, each with separately defined colors, textures, and in some cases physical descriptions such as material. Therefore it is not a limitation of the creation tools, but the tools intermediate to actual printing. Until a new standard is in place, we will design using the current one.

To get around the limitations of the STL filetype, we will create separate STLs for the features of each separate property, like color or material. To align the STL files in the same space, we design the two parts at the same time, as an assembly. Even though the completed print may be a single object, we want to keep the models that make it up separate until the actual printing.

Most 3D design programs honor the relative position of an assembly when exporting it as an STL file, so an object placed off center will remain off center when exported. If the program you are using does not, or you need to reposition the exported STL later, you will need to add some reference elements to allow you to reposition both STLs the same way. One way to do this is to add an extra feature that will be invisible to Skeinforge, but defines the space into which the models will be placed when processed into GCode. This shape can look like anything, but it is very convenient to simply create a very flat cylindrical “plate” on which the objects rest. The cylinder has its center aligned to the center of the object, and a radius equal to the farthest measurement from the center. This shape ensures that for any two shapes you can simply center the resulting STL, and it will be where you need it to be in order to print.

This extra feature is not always neccessary, but can be very helpful in certain situations.

Merging STLs  in Replicator G

Note: you will need ReplicatorG version 0027 or later to access these features.

To use the two tool heads with your two STL files, we will use the brand-new dualstrusion menu. First, make sure you have the “Thing-O-Matic with Dual MK7″ driver selected. Without this driver active, the software will be unable to process the files. From the Gcode Menu in the menu bar of Replicator G, choose the very last item, “Merge .stl for Dual Extrusion (experimental).”

This will bring up the interface for combining objects into the single gcode needed to run. Here we will select the files to be used for Extruder A and Extruder B (left and right respectively). If you want to swap the files chosen for any reason, you can use the Switch Toolheads button for that. Lastly, choose a directory and name for the completed gcode to be saved to. The combinations possible are as follows.

  1. Two STL files
  2. Two Gcode Files
  3. One STL, and one Gcode

An STL will offer options for setting the Skeinforge profile, and an Gcode file will be read directly. This means you do not need to re-process the STLs if you need to make changes to start/end.gcode or to the tool change or machine settings. It will re-combine the gcode directly. This can also be used, in theory, to put two independent prints into the same job.
The settings for using the default start.gcode and end.gcode will replace the versions found in either of the original files with a known-good pair. These files are read from the “DualStrusion_Snippets” folder in the same directory as Replicator G.

When all files are selected, the Merge button will start the process for combining the files designated. For any STL file you have selected you will be presented a window to choose the skein settings to process it into gcode with.

Note that the title of the window will tell you which head you are choosing settings for. If you are using heads with different materials loaded, you will need to be sure that the settings apply correctly. Note: you will have to generate gcode for the first toolhead (left), and then generate the gcode for the second toolhead(right). The progress windows will be placed on top of another – you can drag one of the progress windows away to see that status of the other.

In this case, we are using the default MK7 ABS profile. Be sure to enable Print-o-Matic and apply the correct settings for your extruder.
These are the default settings for the MK7. If you are seeing more plastic than expected, you can raise the filament diameter value. In this particular case, the setting listed under the “Extruder” tab for setting the head will do nothing, because it will be overwritten by the merge process.

Once all settings are checked, simply press “Generate Gcode,” and you will either be presented with a window for the second head (if you chose two STLs) or the process will begin to run the files through skein forge and then merge them. The resulting merged Gcode will open up in the main Replicator G window when the process completes. If nothing happens, check the console at the bottom for errors.
It may be useful to look over the generated gcode to be sure correct files were used. Mac users may use the program “Pleasant 3D.

The last step is to check the generated gcode. if you have already measured the correct offsets for your nozzles but have not saved them into the start.gcode inside “DualStrusion_Snippets,” you can write them directly into the generated gcode. If not, then you should first print a dual-head calibration object and measure the difference from the “perfect” offsets that the software will initially assume. The lines you need to edit or add will begin with the G10 command, and should be in the first few lines of the file. The markup is very simple, and simply define an X Y Z difference from the machine’s absolute center (between the nozzles). On one of the R&D bots, the code looks like this:

G10 P1 X16.55 Y0 Z-0.3
G10 P2 X-16.25 Y0 Z-0.3

If you need to make changes, save your edits to the start.gcode file, and the merge script will use these from then onwards.

Choosing your extruder for single-material prints

Sometimes, you’ll still want to just print using a single extruder head.  To do that, use the option called “Swap Toolhead in GCode” within the “GCode menu.

Note that this will change all toolhead entries in your generated GCode — if you do this with GCode that’s been generated for DualStrusion, it will do the same, which will make it a single-extruder print.

3 Comments so far

  • Scott Peal
    March 22, 2012 at 11:14 am
     

    Please explain how to use dual extruders for only printing PVA support structures. We want to only use the second head for printing support structures we can wash away :-) in water. It would seem that we would not need to do the separate stl files and merge steps. It would seems we would only need to set a box stating to use head number X for support/raft structures.

    Thanks

     
  • Steve
    March 23, 2012 at 9:45 am
     

    Yes, please! How do we do supports with PVA on a dual head config.

     
  • Robert Fairlie-Cuninghame
    May 2, 2012 at 2:11 am
     

    According to the wiki entry on STL ( http://en.wikipedia.org/wiki/STL_(file_format) ) color can be encoded into an STL file. Couldn’t this be used to allow multiple color extrusions to represented without having to split the model into separate files.

     
 

Leave your comment

 
 
 

xhtml: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>