What is SelfSlice

SelfSlice is a web application add-on for Slicer that can accelerate 3D printing by up to 40% through a special optimization process for g.code. The optimized g.code adjusts the layer height, making it lower on the outside of the print to ensure high quality, while increasing it 2x on the inside for faster printing. Since only the outside of the print is visible, the difference in quality is hardly noticeable.

Optimized g.code

Speed up your first print

Do you prefer video tutorial? Continue here – SelfSlice Basic Optimization for PrusaSlicer – Tutorial – YouTube

To optimize your first 3D print, open PrusaSlicer and start by mentally deciding on the desired layer height for the final print. Then, multiply this layer height by two. In the Slicer settings, set the value obtained from doubling the layer height (1). For example, if you want to have a final layer height of 0.15 mm, set the layer height in Slicer to 0.3 mm. Rest assured, SelfSlice optimization will later adjust the layer height back to the original 0.15 mm, but only for the visible parts of the print.

Explanation: To maintain detail, it is important to divide the print into areas where detail preservation is desired and areas where it is not necessary. With SelfSlice optimization, the layer height of the original external perimeter is halved and duplicated, resulting in two external perimeters stacked on each other. This creates a 2x smaller layer height for the external perimeters visible from the outside, while the inside has a 2x larger layer height. Applying SelfSlice optimization to the entire print would compromise detail in sloping areas or curved sections. Therefore, it is crucial to separate the print into two types of sections, each with its own specific layer height – a 2x smaller layer height (e.g., 0.15 mm in the example) for details and a 2x larger layer height (e.g., 0.30 mm in the example) for the rest of the print.

To specify the areas where detail is required (as explained above), identify the regions accordingly. In this example, there are two detailed areas. Click on the “Slice now” button. For instance, we use the “Layer height modification” feature to set the layer height of the detailed areas to 0.15 mm. Therefore, we need to determine the height ranges where the layer height will be 0.15 mm. To find the first height range, adjust the vertical slider accordingly. For better control of the slider, you can use “Up” and “Down” arrow keys.

Once you have identified the precise height range, right-click on the model name right in the window. From the options that appear, select “Height range Modifier”. Take note of the height value displayed on the right vertical slider, and enter this value in the corresponding fields within the “Height range Modifier” window. Set the layer height to be 2x smaller (e.g., 0.15 mm in this example). Finally, proceed to slice the model.

Similarly, adjust the slider on the right to view the height range of the second area. Once you have determined the exact heights for this range, click on the “+” symbol (1) next to the Height range area that you have previously created. Set the “Start at height” and “Stop at height” heights and set layer height to “0.15” mm (2) in the designated fields.

After slicing the model, you will notice that your print now has two distinct layer heights – 0.15 mm and 0.30 mm. If you were to 3D print it at this stage, you would observe two different shades, as shown in the picture below. To avoid this, click on “Export G-code” and proceed to https://selfslice.com. Make sure to keep PrusaSlicer open, as you will need it to effectively utilize SelfSlice.

To proceed, please follow these steps:

Open https://selfslice.com and either log in to your existing account or sign up for a new one. Click on “Import” and select the g.code file that you previously created in PrusaSlicer. Wait until the g.code file is loaded into SelfSlice. Switch back to PrusaSlicer. Use the slider on the right side to display only the area with a 2x larger layer height (e.g., 0.30 mm in the example).
Return to SelfSlice. Navigate to the “Microlayering of sections” group. Here, you will find the “Start” and “End” controls for setting the area you want to optimize. Use the “Start” and “End” controls in SelfSlice, referencing the numbering of layers displayed in PrusaSlicer (indicated in brackets). For more precise control in SelfSlice, you can use the right and left arrow keys when one of the “Start” or “End” sliders is active.
Leave the remaining SelfSlice controls at their default values for now.

Explanation: In SelfSlice, you specify the area that has a 2x larger layer height (e.g., 0.30 mm in the given example). SelfSlice then adds two external perimeters in the selected area, instead of the original single perimeter. After SelfSlice optimization, all of the outer parts of your print will have the final layer height of 2x smaller (e.g., 0.15 mm in this case). However, in the optimized section(s) of your print, the inside will have a 2x larger layer height (0.30 mm in the provided example). Thus printing fast, but providing quality.

If you have multiple areas with a 2x larger layer height, you can utilize the “Add” button in SelfSlice to include all the areas you want to optimize. However, in the given example, there is only one area with a 2x larger layer height (0.3 mm).

To generate the optimized g.code, click on the “Start and Download” button. The optimized g.code file will be downloaded. Before proceeding with printing, it is strongly recommended to thoroughly inspect the g.code file.

You can open the “Prusa G-Code Viewer” and open the optimized g.code or simply drag and drop the g.code file onto the PrusaSlicer icon. Take the time to visually inspect the g.code and carefully examine for any visual irregularities. Occasionally, SelfSlice may skip the external perimeter of certain layers, which will be clearly noticeable in the G-code Viewer. If there are other visual irreguralities like displaying wrong line width, just ignore them – it is because “Prusa G-Code Viewer” has problem displaying SelfSlice optimized g.code.

If SelfSlice optimization skipped external perimeter, consider adjusting the areas for SelfSlice optimization or utilizing different layer heights if feasible. To do this, you need to start over in PrusaSlicer, set different layer height or different height range modification, export the g.code and import it again to SelfSlice.

Sometimes, Prusa G-Code viewer shows wrong printing time. For showing exact printing time, use G-code Analyser tool. 

Congratulations! You have optimized your first 3D print. Now you can print up to 40% faster! Even on the fastest 3D printer in the World!

Supported hardware and software

This beta version of SelfSlice requires g.code as input generated by actual version of PrusaSlicer. Any single-extrusion 3D printer compatible with PrusaSlicer will also work with SelfSlice. In Beta version, application may crash when trying to optimize g.code with print supports. If crash happens, try restarting your browser or using another one.

Before you start - specific settings of Slicer

SelfSlice uses default settings of PrusaSlicer so in most cases you can skip this step. SelfSlice needs specific Slicer settings to be able to select specific segments of printed model (infill, external perimeters, supports, ..) for layer height modification. In PrusaSlicer, please check that your actual print settings have enabled “Label objects:” option. To do this, go to: Print settings (1); Output options (2); and check the “Label objects:” option (3)

How to prevent common problems

Always review final modified g.code. It rarely happens that SelfSlice skips layer of modified segment, leaving the blank horizontal line in final printed model. For the review, you can use Prusa G-code viewer.

In SelfSlice, please be careful to not to modify height of any segment in any layer twice. Also carefully divide between input g.code files and output g.code files – if you unintentionally use already modified g.code as input g.code, you can also divide selected segment twice and end up with non-printable g.code (due to incorrect layer height).


About SelfSlice

This software is created in collaboration with Dolphin Printer s.r.o. and AICRA s.r.o. The company AICRA is the author of SelfSlice software, Dolphin Printer is exclusive owner of the software. Any Mentions of external subjects have been included for easier orientation of the users of the software. All trademarks are property of their respective owners.