I am using Simplify3D both at work and at home. It's great software. I am using three different kinds of printers: a FlashForge Dreamer, a MakerBot Replicator 2, and a MakerBot Replicator 2X. The MakerBots have direct printing support in Simplify3D. The FlashForge Dreamer does not.
I had to create my own profile for the FlashForge Dreamer to get Simplify3D to create compatible G-code. Creating the profile was pretty simple. I can now print using the G-code Simplify3D creates, and the prints come out great.
The main problem is that Simplify3D does not know how to communicate with the FlashForge Dreamer over USB or WIFI. I am forced to save my G-code and use the FlashForge FlashPrint software to send Simplify3D's generated G-code to the printer.
I would love to be able to print directly from Simplify3D when using the FlashForge Dreamer, as I can already do when using the MakerBot Replicator 2 and 2X.
Simplify3D supports older FlashForge printers, such as the FlashForge Creator, but the Dreamer is new and is incompatible with the older printers. FlashForge changed the way G-code is sent to the Dreamer. Unlike their older printers which accepted G-code in real time, requiring a USB connection throughout the entire print job, the Dreamer accepts all the G-code as one large data packet, which is fast, and then after it gets all the G-code it then starts printing it. This has the advantage of allowing you to unplug the USB cable while the Dreamer prints your object. I like this new way of printing. Things are less likely to go wrong.
The Dreamer also supports sending the print job over WIFI, and it works the same as with USB, in that you send the entire print job at once, and then after the printer gets the entire print job it starts printing it.
I don't know the details of how the Dreamer receives the G-code. If someone has a USB data sniffer, they could probably easily figure out how the G-code is sent to the Dreamer. Most likely, the Dreamer has encapsulated the entire print job as standard G-code inside of some wrapper packet. I imagine they probably use a single packet with data length, maybe a checksum also, and then the G-code as its data.
It would be great if Simplify3D could add support for printing to the Dreamer over USB and WIFI. As far as the profile goes, I have already made my own witch works great and uses the proper G-code. I can help with adding support for a profile for the Dreamer, if needed.