A better way to configure Cura to slice objects for your Makerbot Replicator 2 3D printer

I’ve posted previously about using Makerbot Replicator 2 3D printers with Cura, which involved hacking at the X3GWriter plugin, but was frankly a little hacky, and starts to cause problems when you update etc.

With more time on my hands now I’ve had a closer look and spoken to the author of the X3GWriter plugin. It turns out that the printer definition in Cura passes metadata to the plugins you use, and that his X3GWriter plugin was watching for the “machine_x3g_variant” value. When we modify the standard printer definition for Replicator 1 that comes with Cura, it still passes “r1” to the X3Gwriter plugin, which makes it take on values for the Replicator 1 which results of course in incorrect print scaling. For a replicator 2 we actually want “r2”. Makes sense.

So if you’ve been trying to use Cura on your Replicator 2, and getting things that are the wrong size, you’ll need to create or modify your profile for your printer.

Ideally, Cura would come with a Replicator 2 profile, which I’ll put time in to submit to the maintainers via github once I can understand how their provided profiles work, but for now here’s my little how to:

I’m using Cura 4.6 for my example, and this is specifically for the Replicator 2 – you may need to modify some things to make the 2X work

I also assume that you’ve installed the X3GWriter plugin already in Cura’s “marketplace”

1. Open Cura, and add a new printer. Click on non-networked printer, and select “Makerbot Replicator”

2. Once you’ve added this printer, rename the printer to something like “Makerbot Replicator 2” (doesn’t matter what, it won’t affect anything), and go to “machine settings” for this new printer.

3. Make the Gcode flavour “makerbot”, enable origin at center, disable heated bed, select build plate rectangular, and make the dimensions the following:

   x width = 225mm

   y depth = 145mm

   z height = 150mm

Here are my printer settings:

1127212819_Screenshotfrom2020-05-2519-03-25.thumb.png.3450bc6c7570b0616f83b1ca006950ec.png

4. We’ll also check settings for “extruder 1”. The standard nozzle size is 0.4mm, and the compatible material diameter is 1.75mm.
Here’s my extruder settings:

1191352320_Screenshotfrom2020-05-2519-06-24.png.de9bf5f4485a2601947017bbb194592c.png

5. Add the custom GCode to the printer settings. This is necessary as for some reason by default heated bed info is sent, which makes the printer stop straight away. You can look up what this means and tweak it as needed (maybe you want the bed to drop lower at the end etc).

Contents of my start Gcode:

; -- start of START GCODE –
M73 P0 (enable build progress)
;M103 (disable RPM)
;G21 (set units to mm)
M92 X88.8 Y88.8 Z400 E101 ; sets steps per mm for replicator
G90 (set positioning to absolute)
(**** begin homing ****)
G162 X Y F4000 (home XY axes maximum)
G161 Z F3500 (home Z axis minimum)
G92 Z-5 (set Z to -5)
G1 Z0.0 (move Z to "0")
G161 Z F100 (home Z axis minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
(**** end homing ****)
G92 X147 Y66 Z5
G1 X105 Y-60 Z10 F4000.0 (move to waiting position)
G130 X0 Y0 A0 B0 (Set Stepper motor Vref to lower value while heating)
G130 X127 Y127 A127 B127 (Set Stepper motor Vref to defaults)
G0 X105 Y-60 (Position Nozzle)
G0 Z0.6     (Position Height)
; -- end of START GCODE –

Contents of my end GCode:

; -- start of END GCODE –
G92 Z0
G1 Z10 F400
M18
M104 S0 T0
M73 P100 (end  build progress)
G162 X Y F3000
M18
; -- end of END GCODE –

Here’s what it should now look like in your printer settings (the gcode settings of course are longer than the box, so they scroll, don’t copy directly from this image for them):

228029716_Screenshotfrom2020-05-2519-09-13.thumb.png.306b9ed405e5c5ee818e7b0be88da208.png

So we now have the printer defined, but it’s missing the important piece of the puzzle which is the metadata to pass along to the X3GWriter plugin so that we get an X3G file suited for the Replicator 2.

6. Let’s manually edit the printer definition file. Close Cura before continuing. I’m using Ubuntu Linux, so my printer definition file is in:
/home/username/.local/share/cura/4.6/machine_instances/MakerbotReplicator2.global.cfg

I use nano, but any text editor (even gnome’s gedit) will be fine to edit this file.

If you’re in windows, try a system-wide search for the location (sorry I don’t know where it lives in Windows)

We are looking for the heading “[metadata]”, and anywhere under this heading block we’re going to put “machine_x3g_variant = r2”. For example, here’s what mine looks like (some details will be different for yours):

[general]
version = 4
name = MakerBotReplicator2
id = MakerBotReplicator2

[metadata]
setting_version = 13
machine_x3g_variant = r2
type = machine
group_id = 993612c3-052e-42e2-bb6b-c5c6b2617912

[containers]
0 = MakerBotReplicator #2_user
1 = empty_quality_changes
2 = empty_intent
3 = normal
4 = empty_material
5 = empty_variant
6 = MakerBotReplicator #2_settings #2
7 = makerbotreplicator

Notice where “machine_x3g_variant = r2” is?

Save this file where it is, and reopen Cura.

That should be it. You’ll be able to directly choose your printer in the normal way, choose your settings and object, and export. If you find it doesn’t successfully create a file, there’s something up with your config, so double check any syntax problems etc.

You can also check the output of Cura’s errors in (again I’m in Linux):

/home/username/.local/share/cura/stderr.log

So if you tweak Gcode and tinker with those bits and pieces you can see if X3GWriter is unhappy about any of it.

Happy printing!

6 thoughts on “A better way to configure Cura to slice objects for your Makerbot Replicator 2 3D printer”

  1. Hi, I had this thought to use different software today out of the blue. It looks like you wrote this just last week and I’m glad you did. I followed your instructions and it’s working great. It took less than 30 min!

    For the location of the config file:
    1. In a Windows Explorer window type: %appdata% and press enter.
    2. Navigate to: \Roaming\cura\4.6\machine_instances
    3. Make the changes as recommended above.

  2. Thanks for this guide! I posted on your thread at the Ultimaker Forums but maybe it’s easier to ask here.

    “I’ve followed the steps and Cura will now slice my STL and spit out an X3G file, but I’m having a problem. When I start my print, the machine heats up and then starts along the printing path. The issue?
    It doesn’t extrude any filament. It seems like the motor is not running…
    To troubleshoot I’ve use the “load filament” feature and printed other files sliced in the Makerbot software with no issues.

    Any idea of what could be happening? Thanks!”

    1. Sorry about that – there are so many forums I’ve posted things in over the years I forget to check back and don’t appear to get notifications emailed to me about them.

      In terms of your problem, did you previously set up your system using my older method where you had to actually modify the X3GWriter plugin? If so, you may need to remove the plugin and install it again.

      Otherwise, is it a Replicator 2 you’re using? Or is it a 2X?

      1. -No, I didn’t have X3GWriter installed until after I saw your updated tutorial.
        I’ll try the process on an OS X computer and see if I get better results. My printer is a Replicator 2 (not 2X).

        -I manually set my temperature to 190 in Cura (the same that I use on the Makerbot software with no issues). I can see the machine heat up to that temperature but it’s just not wanting to extrude anything

        I don’t want to waste too much of your time, but do you have an X3G file sliced in Cura that you know for a fact works with your Replicator 2? I wonder if I can try printing that file to see if it’s software or printer related.

        Thanks again! 🙂

    2. Another super quick thought, have you adjusted your filament temperature to around 220 degrees in cura? I had mine with a default filament setting which was 185 degrees (celsius) so the head jammed because the filament wasn’t liquid enough for the machine.

Leave a Reply

Your email address will not be published. Required fields are marked *