Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsupermerill <merill@free.fr>2022-05-19 00:32:37 +0300
committersupermerill <merill@free.fr>2022-05-19 00:32:37 +0300
commit65f41c83000dc3e9c54656fe074f1963fd4e34ba (patch)
treea39ffbdde79448c991a7fbbfbb24067c200014ca
parent4c530ca749990efa5a32f553996119dfe028adf1 (diff)
parentbda609f284f2bbda98cbe46cee7ef21cdda1781c (diff)
better fixes
-rw-r--r--.github/CODEOWNERS4
-rw-r--r--.github/CONTRIBUTING.md30
-rw-r--r--.github/FUNDING.yml1
-rw-r--r--.github/ISSUE_TEMPLATE.md17
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md27
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report_form.yml56
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md7
-rw-r--r--.github/workflows/ccpp_mac.yml4
-rw-r--r--.github/workflows/ccpp_mac_rc.yml27
-rw-r--r--.gitignore4
-rw-r--r--README.md139
-rw-r--r--SECURITY.md16
-rw-r--r--create_release.py4
-rw-r--r--doc/How to build - Linux et al.md2
-rw-r--r--doc/How to build - Mac OS.md12
-rw-r--r--doc/How to build - Windows.md4
-rw-r--r--resources/ui_layout/default/colors.ini6
-rw-r--r--resources/ui_layout/example/colors.ini6
-rw-r--r--src/slic3r/GUI/AboutDialog.cpp2
-rw-r--r--src/slic3r/GUI/GUI_App.cpp2
-rw-r--r--src/slic3r/GUI/ScriptExecutor.cpp16
-rw-r--r--version.inc12
22 files changed, 246 insertions, 152 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 093f7d073..10b20b459 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,3 +1,3 @@
-* @lordofhyphens @supermerill
+* @supermerill @lordofhyphens
-.github/CODEOWNERS @lordofhyphens
+.github/CODEOWNERS @supermerill
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index ac45ab976..33cd09336 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -1,36 +1,23 @@
# CONTRIBUTING
-## Bug Reports
+* SuperSlicer and Slic3r are merging so you should be able to use the superslicer repository or the slic3r one. (when the switch will be completed)
-Did you encounter an issue with using Slic3r? Fear not! This guide will help you to write a good bug report in just a few, simple steps.
+## Bug Reports
-There is a good chance that the issue, you have encountered, is already reported. Please check the [list of reported issues](https://github.com/alexrj/Slic3r/issues) before creating a new issue report. If you find an existing issue report, feel free to add further information to that report.
+Did you encounter an issue with using SuperSlicer? Fear not! This guide will help you to write a good bug report in just a few, simple steps.
-If you are reporting an issue relating to a release version of Slic3r, it would help a lot if you could also confirm that the behavior is still present in the newest build [(windows)](https://bintray.com/lordofhyphens/Slic3r/slic3r_dev/). Otherwise your issue will be closed as soon as someone else isn't able to reproduce it on current master.
+There is a good chance that the issue, you have encountered, is already reported. Please check the [list of reported issues](https://github.com/supermerill/SuperSlicer/issues) before creating a new issue report. If you find an existing issue report, feel free to add further information to that report.
-When possible, please include the following information when [reporting an issue](https://github.com/Slic3r/Slic3r/issues/new):
-* Slic3r version (See the about dialog for the version number. If running from git, please include the git commit ID from `git rev-parse HEAD` also.)
-* Operating system type + version
-* Steps to reproduce the issue, including:
- * Command line parameters used, if any
- * Slic3r configuration file (Use ``Export Config...`` from the ``File`` menu - please don't export a bundle)
- * Expected result
- * Actual result
- * Any error messages
-* If the issue is related to G-code generation, please include the following:
- * STL, OBJ or AMF input file (please make sure the input file is not broken, e.g. non-manifold, before reporting a bug)
- * a screenshot of the G-code layer with the issue (e.g. using [Pronterface](https://github.com/kliment/Printrun) or preferably the internal preview tab in Slic3r).
-* If the issue is a request for a new feature, be ready to explain why you think it's needed.
- * Doing more preparatory work on your end makes it more likely it'll get done. This includes the "how" it can be done in addition to the "what".
- * Define the "What" as strictly as you can. Consider what might happen with different infills than simple rectilinear.
+If you are reporting an issue relating to a release version of SuperSlicer, it would help a lot if you could also confirm that the behavior is still present in the [newest build](https://github.com/supermerill/SuperSlicer/actions).
+Please include the needed information when [reporting an issue](https://github.com/supermerill/SuperSlicer/issues/new) (follow the template and add your project file!)
Please make sure only to include one issue per report. If you encounter multiple, unrelated issues, please report them as such.
Simon Tatham has written an excellent on article on [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) which is well worth reading, although it is not specific to Slic3r.
## Submitting a Patch
-Do you want to help fix issues in or add features to Slic3r? That's also very, very welcome :)
+Do you want to help fix issues in or add features to SuperSlicer/Slic3r? That's also very, very welcome :)
Basically you can follow the [GitHub
flow](https://guides.github.com/introduction/flow/) for submitting
@@ -57,6 +44,5 @@ contributing to the Slic3r project.
## Communication
+* [Superslicer discord invite link](https://discord.gg/ygBBdRRwJY)
* #slic3r on [FreeNode](https://webchat.freenode.net): talk to _Sound_, _LoH_ or the other members of the Slic3r community.
-* Drop Alessandro a line at aar@cpan.org.
-* Drop Joseph a line at lenox.joseph@gmail.com
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 78d7851b7..d7404208b 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,6 +1,7 @@
# These are supported funding model platforms
github: [supermerill]# Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
+ko_fi: superslicer
#patreon: # Replace with a single Patreon username
#open_collective: # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index c890df33c..6e04d11a0 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -1,11 +1,5 @@
### Version
-_Version of Slic3r used goes here_
-
-_Use `About->About Slic3r` for release versions._
-
-_Do not report Prusa3D Slic3r bugs here without confirming it is a problem on a development release of Slic3r, or your issue will be closed. *Only* use normal Slic3r version IDs._
-
-_For -dev versions, use `git describe --tag` or get the hash value for the version you downloaded or `git rev-parse HEAD`_
+_Version of SuperSlicer used goes here (help->about)_
### Operating system type + version
_What OS are you using, and state any version #s_
@@ -13,14 +7,13 @@ _What OS are you using, and state any version #s_
### Behavior
* _Describe the problem_
* _Steps needed to reproduce the problem_
- * _If this is a command-line slicing issue, include the options used_
* _Expected Results_
* _Actual Results_
- * _Screenshots from __*Slic3r*__ preview are preferred_
+ * _Screenshots if useful_
_Is this a new feature request?_
Related guides for writing feature requests: http://meta.stackexchange.com/a/259196 http://nickohrn.com/2013/09/write-great-feature-request-bug-report/
-
-#### STL/Config (.ZIP) where problem occurs
-_Upload a zipped copy of an STL and your config (`File -> Export Config`)_
+#### Project File (.3MF) where problem occurs
+_*Upload a Project File* (.3MF) `Plater -> Save Project as...`_
+_You have to zip it (or rename it to .zip) to be able to drag& drop it here_ \ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index f7692d54d..ef7b42e9f 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,14 +1,19 @@
---
-name: Bug report
-about: Create a report to help us improve
+name: Bug report template
+about: Old bug report template do modify manually
---
-### Do not report Prusa3D Slic3r bugs here without confirming it is a problem on a development release of Slic3r, or your issue will be closed. [Development builds of Slic3r](https://dl.slic3r.org/dev). [Prusa3D Issue Tracker](https://github.com/Prusa3D/Slic3r/issues)
-
-**Describe the bug**
+**Bug description**
A clear and concise description of what the bug is.
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+!!>> Project File <<!!
+*Please* upload a ZIP archive containing the project file used when the problem arise: `File`->`Save project as...`, then zip it & drop it here.
+Please export it just before the problem occur. Even if you did nothing and/or there is no object, export it! (it contains your current configuration).
+
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
@@ -16,21 +21,13 @@ Steps to reproduce the behavior:
3. Scroll down to '....'
4. See error
-**3D Model and Slic3r Configuration Export**
-Please upload a ZIP archive containing a copy of the 3D model you are seeing this bug with and a CTRL-E export of the configuration used.
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. MacOS, Linux, Windows]
- - Version [e.g. 1.3.0]
- - _Do not report Prusa3D Slic3r bugs here without confirming it is a problem on a development release of Slic3r, or your issue will be closed. *Only* use normal Slic3r version IDs._
- - _For -dev versions, use `git describe --tag` or get the hash value for the version you downloaded or `git rev-parse HEAD`_
- - _Use `About->About Slic3r` for release versions._
+ - Version [e.g. 2.3.55.5], Use `Help->About`_
+ - Printer model
**Additional context**
Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/bug_report_form.yml b/.github/ISSUE_TEMPLATE/bug_report_form.yml
new file mode 100644
index 000000000..4c3872877
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report_form.yml
@@ -0,0 +1,56 @@
+name: Bug Report
+description: File a bug report
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this bug report!
+ - type: textarea
+ id: what-happened
+ attributes:
+ label: What happened?
+ description: Also tell us, what did you expect to happen?
+ placeholder: |
+ What is the problem?
+ What did you expect?
+ You paste or drop screenshots here
+ validations:
+ required: true
+ - type: textarea
+ id: to_reproduce
+ attributes:
+ label: Project file & How to reproduce
+ description: "*Please* upload a ZIP archive containing the project file used when the problem arise. Please export it just before the problem occur. Even if you did nothing and/or there is no object, export it! (it contains your current configuration)."
+ placeholder: |
+ `File`->`Save project as...` then zip it & drop it here
+ Also, if needed include the steps to reproduce the bug:
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'
+ 4. See error
+ validations:
+ required: true
+ - type: input
+ id: version
+ attributes:
+ label: Version
+ description: What version of our software are you running? You can have the full version in `Help` -> `About superslicer`.
+ placeholder: 2.4.60.2
+ validations:
+ required: false
+ - type: input
+ id: os
+ attributes:
+ label: Operating system
+ description: with the version if possible
+ placeholder: windows 10 / ubuntu 22.04 / macos 15
+ validations:
+ required: false
+ - type: input
+ id: printer
+ attributes:
+ label: Printer model
+ description: May be useful to update default profile, or understand why to creates a problem
+ placeholder: voron 2.4 with afterburner
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 40d1a461f..aed184687 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -4,16 +4,17 @@ about: Suggest an idea for this project
---
-### Do not request features for the Prusa3D fork of Slic3r here without confirming it is applicable to the mainline Slic3r, or your issue will be closed. [Development builds of Slic3r](https://dl.slic3r.org/dev). [Prusa3D Issue Tracker](https://github.com/Prusa3D/Slic3r/issues)
-
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
+**Describe how it would work**
+Be as descriptive as your skill level allows you.
+
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
-Add any other context or screenshots about the feature request here.
+Add any other context or paint drawing about the feature request here.
diff --git a/.github/workflows/ccpp_mac.yml b/.github/workflows/ccpp_mac.yml
index acdf20709..96307453f 100644
--- a/.github/workflows/ccpp_mac.yml
+++ b/.github/workflows/ccpp_mac.yml
@@ -21,9 +21,9 @@ jobs:
uses: actions/upload-artifact@v1.0.0
with:
name: nightly_macos.tar
- path: build/Slic3r.tar
+ path: build/SuperSlicer.tar
- name: Upload artifact
uses: actions/upload-artifact@v1.0.0
with:
name: nightly_macos.dmg
- path: build/Slic3r.dmg
+ path: build/SuperSlicer.dmg
diff --git a/.github/workflows/ccpp_mac_rc.yml b/.github/workflows/ccpp_mac_rc.yml
index a3bd1b02f..f01b412a0 100644
--- a/.github/workflows/ccpp_mac_rc.yml
+++ b/.github/workflows/ccpp_mac_rc.yml
@@ -16,13 +16,34 @@ jobs:
ref: 'rc'
- name: build deps & slicer
run: ./BuildMacOS.sh -i
+ - name: Codesign executable conf
+ env:
+ MACOS_CERTIFICATE: ${{ secrets.MACOS_P12 }}
+ MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_PASSWD }}
+ run: |
+ echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12
+ security create-keychain -p temp_password build.keychain
+ security default-keychain -s build.keychain
+ security unlock-keychain -p temp_password build.keychain
+ security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
+ - name: verify certificate presence
+ run: security find-identity -v
+ - name: register codesign
+ run: |
+ security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k temp_password build.keychain
+ - name: run codesign on app
+ run: |
+ /usr/bin/codesign --force -s "Developer ID Application: Remi Durand (LDTLFRHP3G)" ./build/pack/SuperSlicer/SuperSlicer.app -v
- name: Upload artifact
uses: actions/upload-artifact@v1.0.0
with:
- name: rc_macos.tar
- path: build/Slic3r.tar
+ name: rc_macos.app
+ path: build/pack/SuperSlicer/SuperSlicer.app
+ - name: run codesign on dmg
+ run: |
+ /usr/bin/codesign --force -s "Developer ID Application: Remi Durand (LDTLFRHP3G)" ./build/SuperSlicer.dmg -v
- name: Upload artifact
uses: actions/upload-artifact@v1.0.0
with:
name: rc_macos.dmg
- path: build/Slic3r.dmg
+ path: build/SuperSlicer.dmg
diff --git a/.gitignore b/.gitignore
index efb012a07..d1ee7ca95 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,5 +18,7 @@ local-lib
build*
deps/build*
deps/deps-*
-**/.DS_Store
+
+# MacOS Ignores
+.DS_Store
diff --git a/README.md b/README.md
index f980d0a3f..9c16df16e 100644
--- a/README.md
+++ b/README.md
@@ -1,93 +1,108 @@
-![](var/Slic3r_128px.png) Slic3r [![Build Status](https://travis-ci.org/slic3r/Slic3r.svg?branch=master)](https://travis-ci.org/slic3r/Slic3r) [![Build status](https://ci.appveyor.com/api/projects/status/8iqmeat6cj158vo6?svg=true)](https://ci.appveyor.com/project/lordofhyphens/slic3r) [![Build Status](http://osx-build.slic3r.org:8080/buildStatus/icon?job=Slic3r)](http://osx-build.slic3r.org:8080/job/Slic3r)![Coverity Status](https://scan.coverity.com/projects/17257/badge.svg)
-======
-We have automated builds for Windows (64-bit) and OSX (>= 10.7). [Get a fresh build now](http://dl.slic3r.org/dev/) and stay up-to-date with the development!
+[![you can get this shield at shields.io](https://img.shields.io/discord/771316156203270154?color=7289da&logo=discord&logoColor=white)](https://github.com/supermerill/SuperSlicer/issues/611#issuecomment-907833287) [![you can get this shield at shields.io](https://img.shields.io/reddit/subreddit-subscribers/slic3r)](https://reddit.com/r/slic3r)
+# SuperSlicer
-The MacOS X build server is kindly sponsored by: <img width=150 src=https://cloud.githubusercontent.com/assets/31754/22719818/09998c92-ed6d-11e6-9fa0-09de638f3a36.png />
+**A PrusaSlicer fork (which is a slic3r fork)** (previously Slic3r++)
-### So, what's this Slic3r?
+Prebuilt Windows, Linux and macOS 64-bit releases are available through the [git releases page](https://github.com/supermerill/SuperSlicer/releases). The Linux & macOS builds aren't tested (by me), just compiled, so please report any bugs that may occur during use.
+Nightly builds are available through the [git actions page](https://github.com/supermerill/SuperSlicer/actions). Click on the build for your platform and then on the archive name (`nightly_win64` or `SuperSlicer-gtk2.AppImage` or `nightly_macos.dmg`) in the "Artifacts" section in the top right corner.
-Slic3r is mainly a **toolpath generator** for 3D printers: it reads 3D models (STL, OBJ, AMF, 3MF) and it converts them into **G-code** instructions for 3D printers. But it does much more than that, see the [features list](#features) below.
+SuperSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code
+instructions for FFF printers or PNG layers for mSLA 3D printers. It's compatible with any modern printer based on the RepRap toolchain which is running a firmware based on Marlin, Prusa, Klipper, etc.
-Slic3r was born in **2011** within the RepRap community and thanks to its high configurability became the swiss-army knife for 3D printing. It served as a platform for implementing several **new (experimental) ideas that later became technology standards**, such as multiple extruders, brim, variable-height layers, per-object settings, modifiers, post-processing scripts, G-code macros and more. Despite being based on volunteer efforts, Slic3r is still pushing the boundaries of 3D printing.
+SuperSlicer is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research.
+PrusaSlicer is based on [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
-Slic3r has been rebased from the active PrusaSlicer and SuperSlicer forks with an eye towards continuing pushing the boundaries of 3D printing and being an slicer for all printers.
+See the [wiki](https://github.com/supermerill/SuperSlicer/wiki) and
+the [documentation directory](doc/) for information about compilation.
-Slic3r is:
+### What are SuperSlicer main features? main new features/differences?
-* **Open:** it is totally **open source** and it's **independent from any commercial company** or printer manufacturer. We want to keep 3D printing open and free.
-* **Compatible:** it supports all the known G-code dialects (Marlin, Repetier, Mach3, LinuxCNC, Machinekit, Smoothie, Makerware, Sailfish).
-* **Advanced:** many configuration options allow for fine-tuning and full control. While novice users often need just few options, Slic3r is mostly used by advanced users.
-* **Community-driven:** new features or issues are discussed in the [GitHub repository](https://github.com/slic3r/Slic3r/issues). Join our collaborative effort and help improve it!
-* **Robust:** the codebase includes more than 1,000 unit and regression tests, collected in 6 years of development.
-* **Modular:** the core of Slic3r is libslic3r, a C++ library that provides a granular API and reusable components.
-* **Embeddable:** a complete and powerful command line interface allows Slic3r to be used from the shell or integrated with server-side applications.
-* **Powerful:** see the list below!
+* Custom-made generated calibration tests.
+* new settings to fine-tune the top surface quality, like 'only one perimeter on top'.
+* A "denser infill" option for supporting the (solid) top layers.
+* Better **Thin walls** (anchored inside the print, no more random bits at the ends, embedded in perimeter loops).
+* Options to change holes dimensions and/or geometry, to print them at the right size.
+* Better overhangs (add perimeters if needed, slice them in opposite direction each layer).
+* Brim rework: many more options (inside, outside only, 'ears', per object)
+* Some new seam options, to help hide them.
+* Built-in calibration prints
+* Built-in object generation script
+* Can join perimeters into a big one to avoid travel moves.
+* Many other little options and corrections (like the filled concentric pattern).
+* It has also all the current slic3rPE/PrusaSlicer features.
-See the [project homepage](http://slic3r.org/) at slic3r.org for more information.
+### Complete changelog [here](https://github.com/supermerill/SuperSlicer/wiki)
-### <a name="features"></a>Features
+See the wiki for examples.
-(Most of these are also available in the command line interface.)
+### What are SuperSlicer / PrusaSlicer / Slic3r's main features?
-* **G-code generation** for FFF/FDM printers;
-* **conversion** between STL, OBJ, AMF, 3MF and POV formats;
-* **auto-repair** of non-manifold meshes (and ability to re-export them);
-* **SVG export** of slices;
-* built-in **USB/serial** host controller, supporting **multiple simultaneous printers** each one with a spool queue;
-* **OctoPrint integration** (send to printer);
-* built-in **projector and host for DLP printers**;
-* tool for **cutting meshes** in multiple solid parts with visual preview (also in batch using a grid);
-* tool for **extruding 2.5D TIN meshes**.
+Key features are:
-### What language is it written in?
+* **Multi-platform** (Linux/Mac/Win) and packaged as standalone-app with no dependencies required
+* Complete **command-line interface** to use it without GUI
+* Multi-material **(multiple extruders)** object printing
+* Multiple G-code flavors supported (RepRap, Makerbot, Mach3, Machinekit, etc.)
+* Ability to plate **multiple objects having distinct print settings**
+* **Multithread** processing
+* **STL auto-repair** (tolerance for broken models)
+* Wide automated unit testing
-The core parts of Slic3r are written in C++11, with multithreading. The graphical interface is in the process of being ported to C++14.
+Other major features are:
-### How to install?
+* Combine infill every 'n' perimeters layer & varying density to speed up printing
+* **3D preview** (including multi-material files)
+* **Multiple layer heights** in a single print
+* **Spiral vase** mode for bumpless vases
+* Fine adjustment of speed, acceleration, and extrusion width
+* Several infill patterns including honeycomb, spirals, Hilbert curves, gyroid
+* Support material, raft, brim, skirt
+* **Standby temperature** and automatic wiping for multi-extruder printing
+* [Customizable **G-code macros**](https://github.com/prusa3d/PrusaSlicer/wiki/Slic3r-Prusa-Edition-Macro-Language) and output filename with variable placeholders
+* Support for **post-processing scripts**
+* **Cooling logic** controlling fan speed and dynamic print speed
-You can download a precompiled package from [slic3r.org](http://slic3r.org/) (releases) or from [dl.slicr3r.org](http://dl.slic3r.org/dev/) (automated builds).
+[Command-Line Interface](https://github.com/prusa3d/PrusaSlicer/wiki/Command-Line-Interface) wiki page.
-If you want to compile the source yourself follow the instructions on one of these wiki pages:
-* [Linux](https://github.com/slic3r/Slic3r/wiki/Running-Slic3r-from-git-on-GNU-Linux)
-* [Windows](https://github.com/slic3r/Slic3r/wiki/Running-Slic3r-from-git-on-Windows)
-* [Mac OSX](https://github.com/slic3r/Slic3r/wiki/Running-Slic3r-from-git-on-OS-X)
+## Development
-### Can I help?
+### What language is it written in?
-Sure, but please read the
-[CONTRIBUTING](https://github.com/slic3r/Slic3r/blob/master/.github/CONTRIBUTING.md)
-document first!
+Almost everything is written in C++.
-### Directory structure
+The slicing core is the `libslic3r` library, which can be built and used in a standalone way.
+The command-line interface is a thin wrapper over `libslic3r`.
+You can download a precompiled package from the release page - it will run without the need for any dependency.
-* `package/`: the scripts used for packaging the executables
-* `src/`: the C++ source of the `slic3r` executable and the CMake definition file for compiling it
-* `src/slic3r/GUI`: The C++ GUI.
-* `tests`: Test suite for Slic3r. Implemented with [Catch2](https://github.com/catchorg/Catch2)
-* `t/`: the really old test suite (deprecated)
-* `utils/`: various useful scripts
-* `src/libslic3r/`: C++ sources for libslic3r
-* `xs/xsp/`: bindings for calling libslic3r from Perl (XS) (deprecated)
+### How to compile
-## Licensing and attribution
+If you want to compile the source yourself, follow the instructions on one of
+these documentation pages:
+* [Linux](doc/How%20to%20build%20-%20Linux%20et%20al.md)
+* [macOS](doc/How%20to%20build%20-%20Mac%20OS.md)
+* [Windows](doc/How%20to%20build%20-%20Windows.md)
-Slic3r is licensed under the _GNU Affero General Public License, version 3_.
+You can also look at the workflow YAML-files for [git actions](https://github.com/supermerill/Slic3r/tree/master/.github/workflows), as they describe how to build from source from a "virgin" dev computer.
-PrusaSlicer is licensed under the _GNU Affero General Public License, version 3_.
-PrusaSlicer is owned by Prusa Research.
-PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
+### Can I help?
-The _GNU Affero General Public License, version 3_ ensures that if you **use** any part of this software in any way (even behind a web server), your software must be released under the same license.
+Sure! You can do the following to find things that are available to help with:
+* Add an issue to the GitHub tracker **if it isn't already present**.
-### Acknowledgements
+Before sending patches and pull requests contact me (preferably through opening a GitHub issue or commenting on an existing, related, issue) to discuss your proposed
+changes. This way we can ensure that nobody wastes their time and no conflicts arise in development.
-The main author of Slic3r is Alessandro Ranellucci (@alranel, *Sound* in IRC, [@alranel](http://twitter.com/alranel) on Twitter), who started the project in 2011.
+## License and attribution
-Joseph Lenox (@lordofhyphens, *LoH* in IRC, [@LenoxPlay](http://twitter.com/LenoxPlay) on Twitter) is the current co-maintainer.
+SuperSlicer is licensed under the _GNU Affero General Public License, version 3_.
+SuperSlicer is based on PrusaSlicer by PrusaResearch.
-Contributions by Henrik Brix Andersen, Vojtech Bubnik, Nicolas Dandrimont, Mark Hindess, Petr Ledvina, Y. Sapir, Mike Sheldrake, Kliment Yanev and numerous others. Original manual by Gary Hodgson. Slic3r logo designed by Corey Daniels, <a href="http://www.famfamfam.com/lab/icons/silk/">Silk Icon Set</a> designed by Mark James, stl and gcode file icons designed by Akira Yasuda.
+PrusaSlicer is licensed under the _GNU Affero General Public License, version 3_.
+PrusaSlicer is owned by Prusa Research.
+PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
-### How can I invoke Slic3r using the command line?
+Slic3r is licensed under the _GNU Affero General Public License, version 3_.
+Slic3r was created by Alessandro Ranellucci with the help of many other contributors.
-The command line is documented in the relevant [manual page](https://manual.slic3r.org/advanced/command-line).
+The _GNU Affero General Public License, version 3_ ensures that if you **use** any part of this software in any way (even behind a web server), your software must be released under the same license.
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 000000000..48fbcdc0a
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,16 @@
+# Security Policy
+
+## Supported Versions
+
+| Version | Supported |
+| -------- | ------------------ |
+| 2.3.57 | :white_check_mark: |
+| 2.3.56 | :white_check_mark: |
+| < 2.3.56 | :x: |
+
+last update 2021/10/7
+
+## Reporting a Vulnerability
+
+If the vulnerability isn't dangerous, open an issue.
+If it's dangerous, you can contact me on discord (link should be available [here](https://github.com/supermerill/SuperSlicer/issues/611), at the end)
diff --git a/create_release.py b/create_release.py
index 370c69d39..ea6726179 100644
--- a/create_release.py
+++ b/create_release.py
@@ -14,8 +14,8 @@ from datetime import date
import tarfile
import subprocess
-repo = "slic3r/slic3r"
-program_name = "Slic3r"
+repo = "supermerill/SuperSlicer"
+program_name = "SuperSlicer"
path_7zip = r"C:\Program Files\7-Zip\7z.exe"
github_auth_token = "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"
diff --git a/doc/How to build - Linux et al.md b/doc/How to build - Linux et al.md
index 11227c73b..5b1726e96 100644
--- a/doc/How to build - Linux et al.md
+++ b/doc/How to build - Linux et al.md
@@ -74,7 +74,7 @@ Now when the dependencies are compiled, all that is needed is to tell CMake that
And that's it. It is now possible to run the freshly built Slic3r binary:
cd src
- ./prusa-slicer
+ ./superslicer
diff --git a/doc/How to build - Mac OS.md b/doc/How to build - Mac OS.md
index 457f9f0a4..aa3c36355 100644
--- a/doc/How to build - Mac OS.md
+++ b/doc/How to build - Mac OS.md
@@ -15,7 +15,7 @@ XCode is available through Apple's App Store, the other three tools are availabl
You have to gitclone the repository
```
-git clone https://github.com/slic3r/Slic3r.git
+git clone https://github.com/supermerill/SuperSlicer.git
```
and then you have to clone the profiles submodules
@@ -24,6 +24,12 @@ and then you have to clone the profiles submodules
cd resources/profiles
git submodule update
```
+
+## How to build, the easy way
+
+After cloning, execute `./BuildMacOS.sh -i`
+The executable & dmg should be somewhere in the build directory.
+
### How to build
Just use the `BuildMacOS.sh` script (use the `-h` option to get the options available, and how to use them)
@@ -114,7 +120,7 @@ Works on a fresh installation of MacOS Catalina 10.15.6
brew update
brew install cmake git gettext
brew upgrade
-git clone https://github.com/prusa3d/PrusaSlicer/
+git clone https://github.com/supermerill/SuperSlicer/
cd PrusaSlicer/deps
mkdir build
cd build
@@ -125,5 +131,5 @@ mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local"
make
-src/prusa-slicer
+src/superslicer
```
diff --git a/doc/How to build - Windows.md b/doc/How to build - Windows.md
index 6e7212213..ea17523c0 100644
--- a/doc/How to build - Windows.md
+++ b/doc/How to build - Windows.md
@@ -15,7 +15,7 @@ Clone the respository. To place it in C:\src\REPO_NAME (use Slic3r, SuperSlicer
```
c:> mkdir src
c:> cd src
-c:\src> git clone https://github.com/prusa3d/REPO_NAME.git
+c:\src> git clone https://github.com/supermerill/SuperSlicer.git
```
### Run the automatic build script
@@ -30,7 +30,7 @@ c:\src\REPO_NAME>build_win.bat -d=..\REPO_NAME-deps -r=console
The build script will run for a while (over an hour, depending on your machine) and automatically perform the following steps:
1. Configure and build [deps](#compile-the-dependencies) as RelWithDebInfo with `c:\src\REPO_NAME-deps` as the destination directory
2. Configure and build all [application targets](#compile-slic3r) as RelWithDebInfo
-3. Launch the resulting `prusa-slicer-console.exe` binary
+3. Launch the resulting `superslicer-console.exe` binary
You can change the above command line options to do things like:
* Change the destination for the dependencies by pointing `-d` to a different directory such as: `build_win.bat -d=s:\REPO_NAMEDeps`
diff --git a/resources/ui_layout/default/colors.ini b/resources/ui_layout/default/colors.ini
index cfb6ecb33..c358fe8eb 100644
--- a/resources/ui_layout/default/colors.ini
+++ b/resources/ui_layout/default/colors.ini
@@ -17,9 +17,9 @@ Wipe tower = B3E3AB
Mill = B3B3B3
Custom = 28CC94
Mixed = 000000
-Gui_color_dark = ada227
-Gui_color = ccbe29
-Gui_color_light = edde3d
+Gui_color_dark = 275cad
+Gui_color = 296acc
+Gui_color_light = 3d83ed
splash_screen_editor = da_fish.jpg
splash_screen_gcodeviewer = prusa-gcodepreview.jpg
Gui_plater = 3C3C3C
diff --git a/resources/ui_layout/example/colors.ini b/resources/ui_layout/example/colors.ini
index 47f002162..c940d11d4 100644
--- a/resources/ui_layout/example/colors.ini
+++ b/resources/ui_layout/example/colors.ini
@@ -17,9 +17,9 @@ Wipe tower = B3E3AB
Mill = B3B3B3
Custom = 28CC94
Mixed = 000000
-Gui_color_dark = ada227
-Gui_color = ccbe29
-Gui_color_light = edde3d
+Gui_color_dark = 275cad
+Gui_color = 296acc
+Gui_color_light = 3d83ed
splash_screen_editor = da_fish.jpg
splash_screen_gcodeviewer = prusa-gcodepreview.jpg
Gui_plater = 3C3C3C
diff --git a/src/slic3r/GUI/AboutDialog.cpp b/src/slic3r/GUI/AboutDialog.cpp
index 7b3597585..084e5d43e 100644
--- a/src/slic3r/GUI/AboutDialog.cpp
+++ b/src/slic3r/GUI/AboutDialog.cpp
@@ -273,7 +273,7 @@ AboutDialog::AboutDialog()
// TRN "Slic3r _is licensed under the_ License"
const std::string is_lecensed_str = _utf8(L("is licensed under the"));
const std::string license_str = _utf8(L("GNU Affero General Public License, version 3"));
- const std::string based_on_str = _utf8(L("Slic3r contains sizable contributions from Prusa Research. Original work by Alessandro Ranellucci and the RepRap community."));
+ const std::string based_on_str = _utf8(L("SuperSlicer is a skinned version of Slic3r, based on PrusaSlicer by Prusa and the original Slic3r by Alessandro Ranellucci & the RepRap community."));
const std::string contributors_str = _utf8(L("Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik, Durand RĂ©mi and numerous others."));
const std::string manual_str = _utf8(L("Manual by Gary Hodgson. Inspired by the RepRap community."));
const std::string icon_str = _utf8(L("Slic3r logo designed by Corey Daniels."));
diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
index 68808e9ff..78510304e 100644
--- a/src/slic3r/GUI/GUI_App.cpp
+++ b/src/slic3r/GUI/GUI_App.cpp
@@ -280,7 +280,7 @@ private:
version = _L("Version") + " " + std::string(SLIC3R_VERSION_FULL);
// credits infornation
- credits = _L("Slic3r contains sizable contributions from Prusa Research. Original work by Alessandro Ranellucci and the RepRap community.") + "\n\n" +
+ credits = _L("SuperSlicer is a skinned version of Slic3r, based on PrusaSlicer by Prusa and the original Slic3r by Alessandro Ranellucci & the RepRap community.") + "\n\n" +
title + " " + _L("is licensed under the") + " " + _L("GNU Affero General Public License, version 3") + "\n\n" +
_L("Contributions by Vojtech Bubnik, Enrico Turri, Durand Remi, Oleksandra Iushchenko, Tamas Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others.");
diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp
index 4b83dc0cf..5a4a1e2cc 100644
--- a/src/slic3r/GUI/ScriptExecutor.cpp
+++ b/src/slic3r/GUI/ScriptExecutor.cpp
@@ -655,14 +655,14 @@ void ScriptContainer::init(const std::string& tab_key, Tab* tab)
m_script_engine.get()->RegisterGlobalFunction("void set_string(string &in, string &in new_val)", WRAP_FN(as_set_string), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("bool as_get_custom_bool(int, string &in, bool &out)", WRAP_FN(as_get_custom_bool), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("void as_set_custom_bool(int, string &in, bool)", WRAP_FN(as_set_custom_bool), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("bool as_get_custom_int(int, string &in, int &out)", WRAP_FN(as_get_custom_int), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("void as_set_custom_int(int, string &in, int)", WRAP_FN(as_set_custom_int), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("bool as_get_custom_float(int, string &in, float &out)", WRAP_FN(as_get_custom_float), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("void as_set_custom_float(int, string &in, float)", WRAP_FN(as_set_custom_float), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("bool as_get_custom_string(int, string &in, string &out)", WRAP_FN(as_get_custom_string), AngelScript::asCALL_GENERIC);
- m_script_engine.get()->RegisterGlobalFunction("void as_set_custom_string(int, string &in, string &in)", WRAP_FN(as_set_custom_string), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("bool get_custom_bool(int, string &in, bool &out)", WRAP_FN(as_get_custom_bool), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("void set_custom_bool(int, string &in, bool)", WRAP_FN(as_set_custom_bool), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("bool get_custom_int(int, string &in, int &out)", WRAP_FN(as_get_custom_int), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("void set_custom_int(int, string &in, int)", WRAP_FN(as_set_custom_int), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("bool get_custom_float(int, string &in, float &out)", WRAP_FN(as_get_custom_float), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("void set_custom_float(int, string &in, float)", WRAP_FN(as_set_custom_float), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("bool get_custom_string(int, string &in, string &out)", WRAP_FN(as_get_custom_string), AngelScript::asCALL_GENERIC);
+ m_script_engine.get()->RegisterGlobalFunction("void set_custom_string(int, string &in, string &in)", WRAP_FN(as_set_custom_string), AngelScript::asCALL_GENERIC);
m_script_engine.get()->RegisterGlobalFunction("float get_computed_float(string &in)", WRAP_FN(as_get_computed_float), AngelScript::asCALL_GENERIC);
m_script_engine.get()->RegisterGlobalFunction("void back_initial_value(string &in)", WRAP_FN(as_back_initial_value), AngelScript::asCALL_GENERIC);
diff --git a/version.inc b/version.inc
index dba194f5c..eae0cb15c 100644
--- a/version.inc
+++ b/version.inc
@@ -2,11 +2,11 @@
# (the version numbers are generated by the build script from the git current label)
# name of the slicer
-set(SLIC3R_APP_NAME "Slic3r")
+set(SLIC3R_APP_NAME "SuperSlicer")
# Key fo the slicer, must only contains ascii chars and no spaces (be valid in all filesystems)
-set(SLIC3R_APP_KEY "Slic3r")
+set(SLIC3R_APP_KEY "SuperSlicer")
# exe name of the slicer, should be lowercase and valid in all os
-set(SLIC3R_APP_CMD "Slic3r")
+set(SLIC3R_APP_CMD "superslicer")
# versions
set(SLIC3R_VERSION "2.4")
set(SLIC3R_VERSION_FULL "2.4.58.3")
@@ -20,9 +20,9 @@ set(GCODEVIEWER_APP_KEY "${SLIC3R_APP_KEY}-gcodeviewer")
set(GCODEVIEWER_APP_CMD "${SLIC3R_APP_CMD}-gcodeviewer")
# string to be added after the SLIC3R_APP_NAME on some places
-set(SLIC3R_BASED_ON "")
+set(SLIC3R_BASED_ON " based on PrusaSlicer")
# to get he github repo
-set(SLIC3R_GITHUB "slic3r/Slic3r")
+set(SLIC3R_GITHUB "supermerill/SuperSlicer")
# download url
-set(SLIC3R_DOWNLOAD "https://slic3r.org/download")
+set(SLIC3R_DOWNLOAD "https://github.com/supermerill/SuperSlicer/releases")
set(SLIC3R_DOC_URL "https://manual.slic3r.org/")