I have a Flashforge creator and was using replicator software that is essentially a crude wrapper for the GPX conversion script. I thought there had to be a better way to print despite it being an offbrand 3D printer. First I tried the proprietary software, but it only lets you print directly to the printer and does not convert STL to a file. Then I downloaded makerbot software, similar story. I then noticed there were several references to a DrLex thingaverse post that had fully customized settings for an open source 3D printing software called Slic3r.
Slic3r with Flashforge Creator
Getting Slic3r to work with DrLex's settings is a little tricky and took me several attempts to figure it out. First of all, after you "file->load config bundle" you have to check the "Generate support material" box for them to show up.
After that you're ready to start exporting to G-code, but the software does not export to x3g format by default. For that you have to connect it to an external script that DrLex provides in his post. This is the tricky part and is different depending on your operating system. If you're on a Windows OS other than Windows 10, then you will have to convert the G-code by dragging the file over the GPX win 32/64 .exe file (different from linux and osx). Note that if you convert the G-code manually without using DrLex's script you'll need to change the extruder manually by clicking the STL object in the slic3r plater tab 3d view and once you click and set the object as your active selection go in "object->settings" to change the extruder. The right nozzle is ‘extruder 1’ and is the default; the left one is ‘2’.
Automatic X3G Linux
If you're on Linux then getting the auto compiler to work is a lot easier. There are a few pit falls that I fell in that were very frustrating, but once I figured them out it was pretty straight forward. First of all, you have to actually install GPX. For linux all you have to do is open terminal and enter:
sudo apt-get install gpx
Now the DrLex "make_fcp_x3g" bash script will be able to run GPX on your G-code, but you have to make a few changes first. First you'll need to set the GPX path in the script, so go ahead and open it up in a text editor like Sublime Text. Where it says "GPX=/usr/local/bin/gpx" you'll need to change this to your GPX path. You can find that by opening a terminal and typing:
That's it, your "make_fcp_x3g" script should be set up. You'll need to put it in a directory that has no spaces in it. Personally, I put it in my home directory where my 3d files are stored so I don't have to set chmod +x on it, but you can put it wherever. It took me a while to figure out that having a space in the file path was breaking the script. It may be possible to get around this by putting it in quote, but I haven't tried it. Now you just have to tell slic3r to run this script after converting to G-code. Note that each filament type has completely different settings, so you'll need to set the script path for each one you use. So go to "settings->print settings->output options" and enter the file path e.g. "/home/ryan/Documents/3d/3dprinter/make_fcp_x3g" and thats it!
X3G Windows & Windows WSL
To run the make fcp bash script on Windows you'll need to have a subsystem of Linux called WSL. I havent actually gotten this far yet, but I'm actually super excited about WSL. I had to switch all of my desktop computers to Linux just so I can develop things in peace. Seriously, trying to code python scripts in Windows gives me the biggest headache and I just flat out refuse to do it. But if WSL works as well as I'm hoping it does, then I can finally switch my main computer to windows again and get back to playing with my VR headset! -- just in time for a Holiday break!!! Here are the links you'll need to set up WSL and the bash script:
Ubuntu 18.04: https://aka.ms/wsl-ubuntu-1804