Jacotheron / FlashForge-CreatorPro2-PS-Profile

PrusaSlicer Profile for the FlashForge CreatorPro2 3D printer
22 stars 7 forks source link

FlashForge Creator Pro 2 PrusaSlicer Profile

This project aims to provide users of the FlashForge Creator Pro 2 (and similar 3D printers) an option to print using PrusaSlicer (Slic3er and SuperSlicer should also be supported directly). It can also be a starting point for other slicers as well.

I use PrusaSlicer for a couple of years now, and it fits with my many other printers, so I wanted to ensure I could use my FF Creator Pro 2 with it as well.

This project would not have been possible without help from the community. I would like to those that helped the most:

Features

Installation

Before installation, please note that:

Python & Pillow Installation

If you need to install Python head over to Python Downloads and download the relevant installer for your Operating System.

  1. Simply run the installer,
  2. Select the Customize option,
  3. Choose a path where it should be installed (ideally you want this to be short, for example C:/Python3.x/)
  4. Ensure you check the box for "Add Python3.x to PATH"
  5. Let the installation complete.

We want to use a short path, so that we can easily use it full instructions on how it is to be setup.

We now want to install Pillow for Python Pillow Installation. Using Command Prompt run the following 2 commands:

python -m pip install --upgrade pip
python -m pip install --upgrade Pillow

PIP is a package manager for Python, allowing us to simply install Pillow in the right place, ready to be used.

Vendor File and Post Processor Installation

Now on to the installation

  1. This project contains, at time of writing, 2 folders, each with 1 file. Download the whole project
  2. The file "vendor/FlashForge.ini" (mentioned below as Vendor file) should be placed inside of the PrusaSlicer's AppData folder (typically on Windows at "C:/Users/<username>/AppData/Roaming/PrusaSlicer/vendor/")
  3. The file "post-processor/ff-creator-post-processor.py" (Post Process Script) can be placed anywhere on your computer; I like to keep it in a folder "post-processor" also in the PrusaSlicer AppData. Make a note of the file's location, as we need to edit the Vendor file to use this for post-processing.
  4. Open the Vendor file ("vendor/FlashForge.ini") in your favorite plain text editor (Notepad works, I use Notepad++); go to the line that starts with "post_process" and edit it to point to your Post Process Script (note the use of double back-slashes "\\\" for Windows as folder separators). If the file path contains any space, it should be preceeded by an exclamation mark "!" (also ensure that it load your correct python version, directly from where it is installed). Save the file.
  5. You can now open PrusaSlicer, and using its "Configuration > Configuration Wizard" add the FlashForge:
    1. Go to Other Vendors, and select "FlashForge"
    2. Go to "FlashForge FFF" and select the 0.4mm CreatorPro2 (sorry we don't currently have an image for it)
    3. You may go further through the options or just Finish.
    4. The printers should now be available from the "Printer" select under System Presets. You are welcome to make customizations and save them as separate profiles
  6. The Print settings are available from the list inside System presets, and the filament is there as well.

If you did everything well, you should be able to slice a new object for printing, and have the post-processor run (open the sliced file in a text editor to confirm that it did indeed run and included the binary blob).

This is beta software at this stage. Do not leave the printer unattended. Also ensure that the type of printing works as expected on something small, before spending many hours printing something only to have it fail due to some unexpected issue.

Using this profile

In PrusaSlicer we have 3 sets of dropdowns (Print Settings, Filament and Printer).

  1. Start with the printer, and select the option you would like (this profile defines the options mentioned at the features):
    1. Dual Extrusion:
      1. Typically used when you either have 2 colors that should be used in the same job, of 2 different materials that should be used in the same job.
      2. This printer allows the Print Settings selections for Soluble supports.
    2. Ditto:
      1. Typically used to print 2x identical parts as defined. Both heads are used simultaneously and moves are identical. We only define the Right hand side of the build plate, left side will be identical.
    3. Mirror:
      1. Typically used to print 2x almost identical parts. Like Ditto, Mirror uses both heads, but the left head does the oposite in X than what the right head does.
      2. This allows you to print a left and right side of something, by only importing the right side (saving a lot of time).
    4. Right Only / Left Only
      1. This is used in print jobs where you only need one head for the whole print.
      2. By alternating the use of left and right extruders for print job, you can save time with loading of the next print's color.
  2. Then select the print settings you want to use:
    1. The included presets range between 0.05mm and 0.3mm layer heights; choose the option you would like.
    2. If using Dual, you can also select one of the Soluble options.
    3. If Using Dual, you can select the Draft Shield options, which helps to reduce ooze blobs on the print.
  3. Now select the filament options to use.
  4. Import your model into the slicer and let it slice.
  5. Always confirm the slice to be successful and Export the Gcode. A small black window may appear for a moment - that is normal and is the post processor doing its job.

Notes

Troubleshooting

"File open failed" on printer

This issue may commonly happens when the filename is too long. If you get this error, first try shortening the file, and then try printing it again.

I did not test where the limit is, but typically if I shorten it, it works.

If the issue persists, it may be an incorrect header, please report this.

Print stopping just after completing the Start Gcode

This issue should be rare, but in the instances where it happened to me, it was with either Ditto or Mirror modes, and the CalPad was not in the file. If this happens to you, please check to confirm that the CalPad is in the file.

Other issues

Please report other issues using the issue tracker here on GitHub, provide as much detail as possible. We will try it out and see how it can be resolved.

The .gx file format

Here is a technical breakdown of the file format, specifically regarding the binary blob. Locations are mentioned as their Hex location in the file.

G-codes

This printer uses a lot of non-standard gcode as part of the "xgcode".

Post Processor Script

A brief description of what the script does:

Licensing

Copyright 2022 Jacotheron

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.