theophile / SuperSlicer_to_Orca_scripts

Script(s) to convert SuperSlicer data for use in Orca Slicer
GNU General Public License v3.0
238 stars 15 forks source link

Profile and Configuration Converter (SuperSlicer/PrusaSlicer to OrcaSlicer)

This is a Perl script that will convert printer, print, and filament profile settings from PrusaSlicer and SuperSlicer INI files to JSON format for use with OrcaSlicer.

Table of Contents

Features

Limitations and Known Issues

General

Filament Profiles

Print Profiles

Printer Profiles

Requirements

Installation

  1. Make sure you have Perl installed on your system. You can check the version by running the following command:

    perl -v
  2. Install the required Perl modules using CPAN or your system's package manager. For example, if you're using CPAN:

    cpan Getopt::Long File::Basename File::Glob File::HomeDir Path::Class Path::Tiny String::Escape Term::Choose Term::Form::ReadLine Text::SimpleTable JSON::XS
  3. Clone this repository or download the script directly from GitHub.

    git clone https://github.com/theophile/SuperSlicer_to_Orca_scripts.git

Usage

For interactive mode, run the superslicer_to_orca.pl script with no command-line options:

perl superslicer_to_orca.pl

The script will then guide you through the process of selecting which profiles you'd like to convert and will prompt you for any additional information it needs. Afterwards, you'll see a summary screen telling you how everything went.

Optionally, you can use command-line options to tell the script what you'd like to do and what settings to use, in which case it will only prompt you for information you haven't specified. For example:

perl superslicer_to_orca.pl --input <PATTERN> --outdir <DIRECTORY> [OPTIONS]

On my Windows-based system, the following command will batch convert all my SuperSlicer filament profiles without overwriting any existing files and the newly converted filament profiles will all appear in OrcaSlicer the next time it is started:

perl superslicer_to_orca.pl --input C:\Users\%USERNAME%\AppData\Roaming\SuperSlicer\filament\*.ini --outdir C:\Users\%USERNAME%\AppData\Roaming\OrcaSlicer\ --on-existing skip

[!IMPORTANT] If an input filename contain spaces, you need to enclose it in quotes or you will get errors.

A Note About Printer Profiles

What Super/PrusaSlicer calls a "printer," OrcaSlicer calls a "machine." Super/PrusaSlicer stores some printer data (mostly related to network access to the printer) in a separate "physical printer" .ini file located in the physical_printer subdirectory. OrcaSlicer stores that network data in the main "machine" .json file, but network access still will not be enabled unless the "machine" is linked (via the inherits parameter) to a printer that has been selected and configured from the available system presets in OrcaSlicer.

If you want to have any kind of network access to your converted printer/machine profile, then before using this script, open OrcaSlicer and make sure your target printer appears under the heading System presets in your printers list.

Then rerun the script. It will prompt you to select from the detected "physical printer" profiles. Altneratively, you can use the --physical-printer flag to specify the location of the .ini file for the physical printer you want to use.

Command-Line Options

The script accepts the following command-line options:

Contributing

Contributions to this project are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

This script is licensed under the GNU General Public License v3.0.