Jump to content

Better method to using Replicator 2 printers with Cura


jessecake

Recommended Posts

Posted · Better method to using Replicator 2 printers with Cura

Hi folks,

 

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.

 

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 could come with a Replicator 2 profile, which I'll put time in to submit to the maintainers once I can understand how that's done, 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

 

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), and go to "machine settings" for it

 

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).

 

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 –

 

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:

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 mess around with those bits and pieces you can see if X3GWriter is unhappy about any of it.

Happy printing!

Jesse

(artist at cake.net.au)
 

  • Like 1
Link to post
Share on other sites

Posted · Better method to using Replicator 2 printers with Cura
On 5/25/2020 at 11:23 AM, jessecake said:

enable origin at center

Are you absolutely sure about that? This is normally only used for delta-style printers.

  • Like 1
Link to post
Share on other sites

  • 1 month later...
Posted (edited) · Better method to using Replicator 2 printers with Cura
On 5/25/2020 at 2:23 AM, jessecake said:

Hi folks,

 

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.

 

----------

Happy printing!

 

Thank you for taking the time to write this tutorial!

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!

Edited by mbr2_usr
  • Link to post
    Share on other sites

    • 3 weeks later...
    Posted · Better method to using Replicator 2 printers with Cura

    Just found the configuration file on Windows 10 PC

     

    /Users/username/AppData/Roaming/cura/4.6/machine_instances/MakerbotReplicator2.global.cfg

  • Link to post
    Share on other sites

    • 1 month later...
    Posted (edited) · Better method to using Replicator 2 printers with Cura

    Looks like updating from Cura 4.6 to 4.7 broke the configuration file.

     

    There is now a folder for each version with a CFG file that  was automatically modified during the update.

    C:\Users\%USERNAME%\AppData\Roaming\cura\4.6\machine_instances

    C:\Users\%USERNAME%\AppData\Roaming\cura\4.7\machine_instances

     

    You will once again need to add this line to [metadata]

    machine_x3g_variant = r2

    Here's my full config file, now located in the 4.7 directory:

    [general]
    version = 4
    name = MakerBotReplicator #2
    id = MakerBotReplicator #2
    
    [metadata]
    group_id = 1f4b7576-099e-4475-95d1-5f4e867ad293
    setting_version = 15
    machine_x3g_variant = r2
    type = machine
    
    [containers]
    0 = MakerBotReplicator #2_user #2
    1 = makerbotreplicator_current_profile
    2 = empty_intent
    3 = draft
    4 = empty_material
    5 = empty_variant
    6 = MakerBotReplicator #2_settings #2
    7 = makerbotreplicator
    

     

    EDIT: Hmm, still having an issue printing. Will try making changes to the old 4.6 file as well.

    If that doesn't work I'll re-install 4.6

    Edited by mbr2_usr
  • Link to post
    Share on other sites

    • 1 month later...
    Posted (edited) · Better method to using Replicator 2 printers with Cura

    Thank you for such a useful post.

     

    Makerbot is ideal when you need a device completely working out-of-the-box, but there is no denying that the slicer is a complete headache because of the limited options it offers.

     

    The method explained in this post works like a charm. I would like to add a couple of suggestions in the start G code for the machine.

     

    1. Before heating up the extruder, it should home the Z axis, at least, and then move it a couple of centimeters downwards. Sometimes, if we have just finished balancing the plate (which needs to be done quite often with the Replicator), we forget to move the plate downwards after the process and when the heater heats up, it melts material right on the plate and even damages the adhesive PVC coating.

    2. It would be better if it also homes both X and Y before heating up so that no residue falls on the plate before the printing process begins,

    3. The original maker bot extrudes a straight line, 10- 15 cm long at the beginning of the print at an extreme of the build plate. This cleans the nozzle off any residue filament accumulated in the pre heat process. We should add a similar code in our start code.

    4. Last but not the least, the first layer is deposited at 0 position. Which means that the build plate needs to calibrated in such a way that 0 position leaves an 200-400 microns between the nozzle and the build plate. The original maker-bot setting settings assumes this distance to be 100-150 microns compensates for the additional distance either in its start code or the slicing. I say, we don't do anything about it and just ask the users to use a thicker paper to calibrate the plate.

    Edited by Umar
    • Like 1
    Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    About Point 3, precisely speaking, as far as I have observed, it is even better than how I have described earlier. The Z height of the table is not the same at the beginning and the end of this straight line. It start from a higher point (visually estimated around 0.5mm) and drops down to the layer height specified in the slicing settings during the 15-20cm travel.

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Hi Guys, thanks for this topic. I have a Replicator 2 and I just installed Cura 4.8 and I am using OSX 10.14.6. I want to make .x3g files for sd card printing. I'm getting an error 'application/x3g' when trying to "save to removable device". Also I can't find the machine_instances folder??

     

    anyone doing this on a mac that can help?

    thanks

     

     

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Ok I have been working to bring my makerbot replicator 2 back to life.  I have replaced the arms with steal and put in a heated glass plate over the last year.  I have just not been able to get cura to fire up with way I want it keeping the the plate and the extruder hat at the same time.  I also a person that does not like playing sneakernet (popping the card from pc to machine while testing).  So I broke down, grabbed a raspberry pi and went to town loading octoprint to see if it helped.  It was the right move.  It is still too early to tell if my config is working fully and I have a lot of tuning to due on the startup gcode but it is miles ahead of the makerbot desktop which is end of life.   Here is why I like the setup.  Cura does great at gcode, but the 3gx driver can be a bit kludgy to setup and hard to debug. Makerbot is a closed system making it even harder to work with (I luckily have a pre version 5 printer).  I am not sure who made Octoprint but kudos to them.  It is a awesome open source project I am going to look to help fund.  The plug ins can be a bit difficult but they are fairly stable.    Note I still need to get my start and stop code worked out and my camera and screen setup so there is more work to be done that said I now have access to all the new clicers cura wants to throw at me. 

    Here are the basic steps so far.

     

    1.  Download octoprint and etcher to burn your images.

    2.  Burn the sim with etcher

    3.  Setup your wifi by accessing the octopi-wpa-supplicant.txt  file in the boot partition (should be able to get to this on windows)

    4. Boot it up, ssh into it and reset the password of the Pi  - SSH pi@<your pi's ip address> or pi@octopi.local

    5. login from a browser the same way  - http://<your pi's ip address> SSH IP -l pi or http://octopi.local

    6. Setup user

    7. Add printer ( look at cura for replicator 2 settings

    8. Add cura thumbnail plugin and configure 

    9. Add gpx plugin and configure - plug in the usb and get it to connect.  Note you have to correctly configure GPX for it to connect. I hear it does not auto settings so set it to 11500 for baud.  The port scan seemed to work for me.

    10. In cura load optiprint

    11. For replicator 2 printer add printer into cura and make the g-code flavor reprap

    12. Add the following to the start g-code

     **** Replicator 2 start.gcode ****
    M73 P0 ; enable build progress
    G162 X Y F3000 ; home XY maximum
    G161 Z F1200 ; home Z minimum
    G92 Z-5 ; set Z to -5
    G1 Z0 ; move Z to 0
    G161 Z F100 ; home Z slowly
    M132 X Y Z A B ; recall home offsets
    G1 X-145 Y-75 Z30 F9000 ; move to wait position off table
    G130 X20 Y20 Z20 A20 B20 ; lower stepper Vrefs while heating
    M126 S[fan_speed_pwm]
    M104 S[extruder0_temperature] T0
    M133 T0 ; stabilize extruder temperature
    G130 X127 Y127 Z40 A127 B127 ; default stepper Vrefs
    G92 A0 ; zero extruder
    G1 Z0.4 ; position nozzle
    G1 E25 F300 ; purge nozzle
    G1 X-120 Y-70 Z0.15 F1200 ; slow wipe
    G1 X-115 Y-65 Z0.5 F1200 ; lift
    G92 A0 ; zero extruder
    M73 P1 ;@body (notify GPX body has started)
    ; **** end of start.gcode ****

     

    13. Add in printer end gcode  
     

    ; **** Replicator 2 end.gcode ****
    M73 P100 ; end build progress
    G1 Z155 F1000 ; send Z axis to bottom of machine
    M104 S0 T0 ; cool down extruder
    M127 ; stop blower fan
    G162 X Y F3000 ; home XY maximum
    M18 ; disable stepper
    M72 P1 ; play Ta-Da song
    ; **** end of end.gcode ****
    14.  connect optiprint to printer in preferences of printer

    15.  Give a print a spin.  

     

    I have been seeing my head clog up but guessing that is a different issue.  

    Good luck and may the force be with you as it took some trial and error due to the added heat plate. 

    I would avoid the gcode format from makerbot as it caused some heat plate problems and long nights.

     

     

     

        

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Inkous you have to put in the x3g writer plug in form the marketplace.

  • Link to post
    Share on other sites

    Posted (edited) · Better method to using Replicator 2 printers with Cura

    Hi,

     

    I'm trying to use my MakerBot Replicator 2 with Cura and facing some issues.

    After few first layers, the extruder is not able to exrude filmanet and get stuck. My settings are pretty conservative, with low speed, I even disabled retracion to see if it will help (it didn't).

    When I print the same model with MakerBot Desktop slicer, even with more demanding settings,

    the extruder is not getting clogged and prints just fine. 

     

    I used the same start G-Code as jessecake.

     

    Any ideas what is wrong?

    Edited by 3DStyle
  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

     Cura 5 cant find 3xg in marketplace please help

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    5.10 works fine

     

    • Like 1
    Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Everything here is looking good for my Replicator 2 except after the print starts the extruder stops heating and the temperature falls

  • Link to post
    Share on other sites

    Posted (edited) · Better method to using Replicator 2 printers with Cura

    Any idea on how to get the heated bed working?

    I'm, using Cura 5.2 and I'm currently setting it up for my Replicator 2. I have a heated bed on the way, and because it was expensive, i would really prefer it worked. That, and the fact that I just received my Ender 3 S1 Pro are why I've switched to using Cura. I haven't tried the heated bed out yet, but if there is anything special or important I need to know to get the bed working, that would be great. I'll repost with any issues I'm having.

    Note: I'm using Cura 5.2 with Windows 11 and i have absolutely no coding experience whatsoever, so if I need to go into the files of Cura again, being extra descriptive would really help out. 

     

    Thank you all!

    Edited by SonOfBphage
  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Cura puts together a list of gcode commands to create a gcode text file.  The beginning of the list is the StartUp Gcode and it readies the printer to start printing.  Then there is the body of the gcode that is the model itself.  When the model is complete the final section is the Ending Gcode that shuts the printer down.

     

    So the commands in the StartUp Gcode prep the printer.  There are two bed commands:  M140 sets the temperature and the gcode continues while M190 sets the temperature but the gcode stops and waits for the temperature to be reached.  Both require an "S" parameter that is the temperature you want.

    A bed command like "M140 S60" in the startup gcode would set the bed to 60°.  M140 S0 in the Ending Gcode would turn the bed off.  It's much the same with the others.  

    You will need to learn at least a little Gcode.  It's a handy skill to have, the language is simple, and there are only a handful of commands that come up often.

    G0 and G1 are the main movement commands, G92 is used to reset the extruder location, M104 and M109 are the hot end temperature, M106 is the fan (in PWM so the scale is from 0 to 255) and a few others.  Here is the Marlin Gcode site with full descriptions.  The RepRap site has more and is broken down by firmware flavor.

     

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Thank you! My Replicator is working flawlessly. The only issue is the printer is pausing between layers, which i believe is a cura problem and can be fixed with settings. Also, when the print is finished, the nozzle will stop at the very last point and it will stay there for 15 ish seconds before moving the bed down. I think this is also a thing in the cura settings or a thing in the end gcode. I'll experiment with it. The hbp hasn't come in yet, so once it does I'll dive into that section of the gcode if I need to.

     

    Also, thank you GregValiant for giving us a short explanation on how the gcode works.

    • Like 1
    Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Please note that my CTC Bizer has a heated bed.  I had to paste the following line in the Metadata section in the configuration file.  The "h" on the end is needed for the heated bed variant.

     

    machine_x3g_variant = r2h

     

    This was found on this site.

     

    https://github.com/Ghostkeeper/X3GWriter

     

    From GitHub

     

    image.png.0dfaeddd9b5fdeffbc801bb2c6fec78a.png

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Hi SonofBphage, All.

     

    Newbie alert!

     

    I've just invested a bit of time in my CTC Makerbot-esque printer and done a shed load of upgrades, finally putting some time into getting Cura to work with it by replicating (pun intended) the Makerbot Start and End GCode...

    It all works great except I have a similar issue to SonofBphage - even with all of the original end gcode from Makerbot - on completion the extruder sits at the end of the print and extrudes a dirty great glob of plastic. I can't see what in the gcode has caused this drastic change in pre-end behaviour.

     

    SonofBphage - did you get to the bottom of your issue? Hoping it might help me.

     

    Any ideas appreciated!

     

  • Link to post
    Share on other sites

    Posted · Better method to using Replicator 2 printers with Cura

    Hi,

    Just a Makerbot Replicator 2X, but there was some issue with the setting in cura.

    I used the printer profile found on cura for the replicator (not 2x version) then changed the start and end code to the gcode I got from exporting the gcode from the MakerBot Desktop. The issue I got is the bed heating up to the cura set temp then it will start heating the extruder while not keeping the bed temp. Then the machine starts the start G-code in the cura machine setting. Since I did use "M109 S110 T0" the bed did get to the bed temp needed for ABS, but is there a way to keep the bed at the cura bed temp? The G-code flavor is "Makerbot" if that is important. 

     

    I went in the definition folder in cura to change the metadata of "r1" to "r2x" so there probably isn't an issue there.

     

    Thanks in advance if anyone knows.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Thanks
          • Like
        • 3 replies
      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 26 replies
    ×
    ×
    • Create New...