Jump to content

jessecake

Dormant
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

jessecake's Achievements

6

Reputation

  1. 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: 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: 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: 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)
  2. Hmmm this could be that updates have happened since I wrote this stuff. Check out my latest work in a reply above to make it neater to operate these printers in cura
  3. Hi there, Yes in my start gcode there I think there's a line explicitly disabling the heated bed as my non heated bed printers just complain and stop if any commands are given relating to the heated bed. I'll have to have a closer look, but I'm pretty sure that's where it was being disabled. Sorry, I don't have a heated bed R2 to test with though
  4. Hey folks, Apologies, I'd completely forgotten to keep checking in here and missed your replies. Thanks for the kind words, but no need - we should all be sharing our fixes and assisting in improving software where we can. I should say that this was quite a hacky fix, and there's a better way recommended by the author of the X3GWriter plugin rather than ruining the plugin itself. So what I didn't understand was that Cura can pass metadata from printer definitions to assist with conversions like this. Because the definition that I started with (Replicator 1) had metadata of indicating it was a replicator 1, the X3Gwriter plugin would of course convert it using that profile. So, with that said, I'm working on a temporary fix by editing the cura printer definition file, so that the X3Gwriter plugin doesn't get trashed by us. This also means we can update cura and x3gwriter without these things being undone. What we need to put in is: machine_x3g_variant = r2 into the machine definition file in your cura settings under the metadata heading. This isn't through the GUI, it's by hand in the filesystem. (I used nano, but you could use any text editor) My machine runs linux, so the cura settings hide in: /home/username/.local/share/cura/4.6/machine_instances I'm going to try it out and let you know how I go with some testing. It's a much neater thing to do. Of course this still isn't ideal, so I've submitted a feature request and a possible fix to the Cura github to add a profile for the Replicator 2 to Cura so that we can just choose this in future and bypass doing any manual editing.
  5. Sorry DarthJenius, I should have said look for the plugin because yes it appears there's no search function in there. No problem - I like to help where I can. Especially when it comes to being able to use equipment that has been orphaned by the company that made it. I've gotten a response from the developer of the plugin with some further info on how to force the plugin to use the Replicator 2 profile so will write another post when I've got a chance to do that so that people don't have to hack up the plugin to make it work. In the mean time I'm happy to have been able to help Happy printing! Jesse
  6. Hi folks, I'm new to Cura, but after finally upgrading my OS (I use Ubuntu Linux) I found that Makerware is no longer offered for Linux, which means suddenly I couldn't drive the 3 Replicator 2's that I have. This gave me the push I needed to get into Cura as I'd heard such great things about it. The only problem is, is that it seems not many who use Cura have Replicator 2's, and the built in profile is for a Replicator 1 and needs some tweaking. Furthermore, the X3GWriter seems to want to detect it only as a Replicator 1, which has different numbers of steps per mm so all printed items were turning out a little bigger than they should have been. I've written a blog about it step by step for those in the same boat as me here: http://jessestevens.com.au/2019/10/20/configuring-cura-4-3-for-makerbot-replicator-2/ But to also make sure in case my blog disappears etc to help others I'll put the steps here: First up, I’m using it in Ubuntu Linux (18.04) so locations of files might need to be changed for your config files as needed. This is for Cura v4.3. Step 1: Set up your printer I chose Makerbot Replicator from the printers page, and made a couple of changes to the settings: xwidth: 225mm ydepth: 145mm xheight: 150mm build plate shape: rectangular origin at centre: yes heated bed: no heated build volume: no gcode flavour: makerbot I also renamed the machine name to “Replicator 2” just so I would remember. Step 2: Start and end GCode You’ll need some custom Gcode so here it is (picked from various places and organised after some testing). Start Gcode: ; — start of START GCODE – M73 P0 (enable build progress) ;this next line won’t work, but has the steps command M92 X88.8 Y88.8 Z400 E101 ; sets steps per mm for Rep2 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 – This of course all assumes you don’t have a heated bed (also makes sure it doesn’t send heated bed commands which make the machine complain). Step 3: Install X3G file converter Go to the “Marketplace” button at the top right of your Cura window and in the marketplace search for “X3GWriter” and install it. Restart Cura so that it comes live. Step 4: Modify X3GWriter so that it always detects “Replicator 2” There seems to be a problem with X3GWriter in that with the above setup it always detects the machine to be a replicator 1, which is a problem as they have different amounts of steps per mm. You’ll know this because if you have a Replicator 2 and you try to print an object, it’ll keep printing larger than it should be. I’m sure there’s another way to make it detect “Replicator 2” but in the mean time I just changed it to always be Replicator 2 as that is all I have. Locate your plugins folder – for me it’s in /home/username/.local/share/cura/4.3/plugins (where username is your username). Go into the X3GWriter folder (and again into it, it’s nested twice – the path for me is: /home/username/.local/share/cura/4.3/plugins/X3GWriter/X3GWriter/) Open “X3GWriter.py” with your favourite text editor. Be careful in here, it’s a python script so you want to use spaces, not tabs to indent, and indents matter. If you destroy it you may have to just remove the plugin and install it again. We’re looking for the line like this: return machine if machine in X3GWriter.known_machines else None Note again that it’s indented with spaces in front. Put a # in front of this line to comment it out so it doesn’t get read like this: #return machine if machine in X3GWriter.known_machines else None Now go to the next line, press space until you’re lined up with the line above and put in: return “r2” Save the file and close Cura, then restart it. If all is well, you’ll find you can now export files that will print properly and be read by your Replicator 2. If you find the X3G file option has disappeared from your list, then the plugin is broken. Check your syntax in the plugin file and try again. Is this a little hacky? Yes, and I realise it may not be for everyone, especially if you're working with multiple printers, but until I can find a way to pass along to X3GWriter to filter the output through a Replicator 2 profile, this has been the only way I've been able to make it all work. Funnily, using Cura has massively improved the reliability and quality of the printers and improved my faith in them again. It seems Makerware wasn't doing as good a job as I thought it was, and was leaving these older Gen4 printers behind a little with their slicing algorithms. I hope this has been useful for people like me that were pulling their hair out trying to make it happen - don't throw that printer away! Jesse
×
×
  • Create New...