.. include:: .. include:: 3dprinting_substitutions.txt .. meta:: :description lang=en: Using and customizing PrusaSlicer presets for 3D printing .. _prusaslicer_profiles: Using and customizing |PS| presets ---------------------------------- *The preset management features in PrusaSlicer provide very flexible and powerful control over the slicing process. Unfortunately, they can be a bit confusing and overwhelming. These notes provide some tips on taking full advantage of these capabilities.* .. include:: 3dprinting_disclaimer.rst |PS| settings are organized into four distinct categories: #. **Printer presets** containing all of the printer hardware settings such as bed size and extruder configuration. #. **Physical Printer presets** are only created when you associate a printer with an OctoPrint or other shared network-based server. #. **Filament presets** containing all of the filament-specific settings such as print temperatures. #. **Print Settings presets** containing all of the settings for a specific print job such as layer height and extrusion width. .. note:: Physical printer presets are new as of |PS| version 2.3.0. These settings were previously part of **Printer** presets. Presets in |PS| are linked to specific printers. |PS| makes extensive use of dependencies to associate print and filament presets with a specific printer manufacturer or type. .. important:: If you are using a non-Prusa preset, including a custom preset you created based on a Prusa system preset, some filament or print settings presets may be hidden. See :ref:`dependencies ` below for work-arounds. Prusa provides a default set of presets for each supported printer. * You can add profiles for supported printers in the **Configuration Manager** menus in |PS|. * Presets for non-Prusa printers have been developed and contributed by the community. However, not all printers necessarily have the same profiles, nor are they developed to any consistent degree of quality or completeness. The available filament and print settings presets vary widely between different printer selections. .. important:: With the release of |PS| 2.3.0, Prusa has made significant changes to how both custom printer presets and 3rd party printer presets function. |PS| 2.4alpha has made even more changes. See :ref:`custom printer presets ` below for more information. As you use |PS|, you may find that you need to create presets for an unsupported printer, or simply wish to tweak existing settings. To do this, you need to develop a basic understanding of how profiles work under the hood. .. _prusaslicer_profile_import_export: Importing, and exporting |PS| preset files ------------------------------------------ A |PS| preset is a file with the `.ini` extension that contains a collection of |PS| settings. Preset files can be opened, examined, and edited with any text editor. You can import and export three different types of presets: * Configuration (config files) * Configuration bundle (config bundles) * Project files (3MF project files) Each of these options will store settings, but each operates in very different ways. Configuration files ^^^^^^^^^^^^^^^^^^^ A *Config* is a single `.ini` file containing |PS| settings. A *config* can contain any number of |PS| settings. The settings in a *config* file are *not* organized by print, filament, or printer. Think of a *config* as a *configuration snapshot* containing all of your current |PS| settings. Importing a config ~~~~~~~~~~~~~~~~~~ When importing a config: * Any settings in the *config* over-write the current setting in memory. * Settings changed by the *config* will be reflected under the print, filament, or printer settings tabs just as if you had typed them in manually. * Settings in a *config* are not organized under print, filament, or printer categories. * If any settings are changed in print, filament, or printer presets, the preset is given a temporary name in |PS|. * These settings are *not* automatically saved, and will be reset if changed, if a new profile is selected, or if |PS| is restarted. Exporting a config ~~~~~~~~~~~~~~~~~~ When exporting a config: * When exported, all current |PS| settings are written to the *config* file. This includes all print, filament, and printer settings. * Only one value for each setting is exported. A single *config* cannot contain more than one variation of any setting. * Settings in a *config* file are not grouped into print, filament, or printer presets. * Any information related to loaded models (STLs) or modifiers is not exported. Configuration Bundle files ^^^^^^^^^^^^^^^^^^^^^^^^^^ A *Config bundle* is a single `.ini` file containing |PS| settings. A *config* can contain any number of |PS| settings. The settings in a *config* file *are* organized as print, filament, or printer settings and a single *configuration bundle* can contain multiple presets, each of which can contain variations on any setting. Importing a config bundle ~~~~~~~~~~~~~~~~~~~~~~~~~ When importing a *config bundle*: * Settings in the *config bundle* are written and automatically saved as presets that can be selected with the drop-down menus in |PS|. * No settings in memory are changed. You must select a newly-imported preset to use the imported settings. Exporting a config bundle ~~~~~~~~~~~~~~~~~~~~~~~~~ When exporting a *config bundle*: * All non-system presets currently loaded in memory are written to a single *configuration bundle* `.ini` file. * You cannot specify which presets to write to the *configuration bundle*. * Separate presets are created for print, filament, and printer settings. A *config bundle* is essentially a backup of any preset customization that you have saved or in memory. Project files ^^^^^^^^^^^^^ A *project file* is a `.3MF` file that contains everything associated with your current working |PS| environment: * A snapshot of your currently selected |PS| print, filament, printer, and physical printer settings. * Any `.stl` models currently placed on the plater. * Any modifiers or other additions to models. Everything in a *project file* is a snapshot: * If you later make changes to presets in |PS|, these changes are *not* reflected in saved project files. * If you later make changes to the `.stl` models, the `.3mf` file is not updated. Importing a project file ~~~~~~~~~~~~~~~~~~~~~~~~ .. todo:: Import project file Exporting a project file ~~~~~~~~~~~~~~~~~~~~~~~~ .. todo:: Export project file .. _prusaslicer_system_presets: System presets -------------- Prusa provides a number of system presets for each supported printer. When a printer is selected, a *configuration bundle* is imported which contains print, filament, and printer presets for that printer. Note that the print and filament settings presets provide by Prusa are specific to each equipment manufacturer. The configuration bundles containing system presets can be found under: * ``C:\users\\AppData\Roaming\PrusaSlicer\vendor`` on Microsoft Windows. * ``/Users//Library/Application Support/PrusaSlicer/vendor`` on MacOS. * ``~/.PrusaSlicer/vendor`` on Linux. |PS| ships with configuration bundles for printers from: * Prusa Research (``PrusaResearch.ini``) * Creality (``Creality.ini``) * AnyCubic (``Anycubic.ini``) * BIBO (``BIBO.ini``) * FLSun (``FLSun.ini``) * LulzBot (``LulzBot.ini``) * TriLAB (``TriLAB.ini``) Others are being added regularly. System presets cannot be directly modified. You can, however, make copies of system presets, modify any settings you like, and save the resulting custom preset. Saved preset file location ^^^^^^^^^^^^^^^^^^^^^^^^^^ |PS| saves your custom presets as individual *configuration* files. Each preset is saved as an individual *configuration* file with the name of the preset. Saved profiles can be found in two locations: Individual folders for print, filament, and printer profiles are stored under: * ``C:\users\\AppData\Roaming\PrusaSlicer`` on Microsoft Windows. * ``/Users//Library/Application Support/PrusaSlicer`` on MacOS. * ``~/.PrusaSlicer`` on Linux. |PS| is also very good at creating regular snapshots of your custom profiles whenever the software is updated. Snapshot folders for any custom presets are saved under: * ``C:\users\\AppData\Roaming\PrusaSlicer\snapshots`` on Microsoft Windows. * ``/Users//Library/Application Support/PrusaSlicer/snapshots`` on MacOS. * ``~/.PrusaSlicer/snapshots`` on Linux. Note that these files are *configuration* files. You will need to format them as *configuration bundle* file if you want to save multiple settings profiles in a single file. .. _prusaslicer_profile_detaching: Modifying settings and detaching from system presets ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You'll need to know how to detach system presets if either of the following apply: 1. You want to make changes to default |PS| presets. 2. You are using a non-Prusa printer profile, or a customized Prusa profile, and have lost access to the system presets (notably filament presets). .. important:: This procedure has been simplified with the release of |PS| 2.4alpha. You now just need to save a system preset with a custom name to detach it. If you want to modify or copy a system preset, you must first create a copy by: #. Use the Configuration Assistant to enable at least one Prusa printer preset that you want to modify, or that is similar to the printer you are building a preset for. #. Select a system Prusa printer preset. #. Select the Prusa printer preset, then select the desired system profile in the **Print**, **Filament**, or **Settings** tab drop-down selection box. #. Clicking the **Detach from system preset** button at the right. #. Giving the new profile a unique name. The name must be different than any existing system profile. By default, |PS| appends **- Detached** to the system profile name. This pic shows the option to detach a system filament preset: .. figure:: ../_images/3dprinting_prusaslicer_detach_profile.* :alt: Detaching a system preset :width: 100% :align: center Detaching a system preset with PrusaSlicer 2.3.x If you just want to change a few settings, this is all you need to do. Everything can be done in the |PS| GUI. If you want to make more extensive changes, or share settings with others, you'll want to spend some time learning about *configuration profiles*. Creating custom |PS| configuration bundles ------------------------------------------ The process of creating |PS| presets and configuration bundle files is not well documented, nor properly exposed in the GUI yet. This should change rapidly as Prusa continues the rapid development pace with |PS|. Presets contain customized settings -- or more correctly, setting *overrides* -- that change the default |PS| behavior. If you to save any settings changes permanently, you must save them in a custom preset. If you want to share settings with others or create a backup of your custom settings, a *configuration bundle* file can be used to contain all of your custom settings as individual presets in a single file. A *configuration bundle* can contain presets for any number or combination of: Naming custom presets ^^^^^^^^^^^^^^^^^^^^^ When you save a preset in the |PS| GUI or create a configuration bundle, you must specify a unique name for each preset. Presets are specified in |PS| configuration bundle files as follows: * Preset names are stored within square brackets ``[]``. * Preset names are preceded with a type specifying a printer, physical printer, filament, or print settings preset. #. **Printer presets** have the tag ``printer:`` prepended to the preset name. These presets contain all of the printer hardware settings such as bed size and extruder configuration. #. **Physical Printer presets** have the tag ``physical_printer:`` prepended to the preset name. These presets associate a printer with an OctoPrint or other shared network-based server. Note that |PS| does not ship with physical printer presets defined. You must create them during initial configuration. #. **Filament presets** have the tag ``filament:`` prepended to the preset name. These contain all of the filament-specific settings such as print temperatures. #. **Print Settings presets** have the tag ``print:`` prepended to the preset name. These contain all of the settings for a specific print job such as layer height and extrusion width. For example, a printer name would look like ``printer:Custom printer preset name]`` A few notes on configuration bundles: * You only need to create custom presets based on the settings being changed. If you are only changing filament settings, there is no need to update print or printer presets. * Each type of preset is self-contained and operate independently of other types. * A configuration bundle file can contain one or many presets. * Each preset must start with the name of the preset contained within square brackets (``[]``) and prepended with one of the preset types. .. _prusaslicer_profile_inheritance: Understanding inheritance in |PS| configuration bundles ------------------------------------------------------- Any preset in a configuration bundle can be used as a baseline for other presets in the same file. You simply define a master preset containing settings common to multiple presets, then inherit settings from the baseline preset. Any values not explicitly set under the preset name are inherited from the baseline preset. For example, I use this approach to define a master baseline printer definition with most of the desired settings, then sub-profiles for each nozzle size. Baseline profiles ^^^^^^^^^^^^^^^^^ Here's an example baseline profile as provided in the ``PrusaResearch.ini`` that contains the system profiles for Prusa printers. .. code-block:: none :linenos: :caption: Baseline print setting profile from PrusaResearch.ini [print:*common*] avoid_crossing_perimeters = 0 bridge_acceleration = 1000 bridge_angle = 0 bridge_flow_ratio = 0.8 [... other settings] Note that the preset name, *common*, is delimited by asterisks. Any profile name contained within asterisks indicates that the profile will not be shown to the user in the dropdown profile selection boxes. Presets can inherit from other presets in the same ``.ini`` file. Here's another example from ``PrusaResearch.ini`` defining a profile based on the *common* baseline preset defined above. .. code-block:: none :caption: Baseline 0.05mm layer height preset :linenos: :emphasize-lines: 2 [print:*0.05mm*] inherits = *common* bottom_solid_layers = 10 bridge_acceleration = 300 bridge_flow_ratio = 0.7 [... other settings] Note that: * You can only inherit from presets defined in the same ``.ini`` file. * Every preset must have a unique name. * Any settings not defined in this preset will be inherited from the *common* preset. You can use multiple levels of inheritance. Here's yet-another example from ``PrusaResearch.ini`` that defines a profile based on the *0.05mm* preset defined above. .. code-block:: none :caption: Final 0.05mm layer height preset :linenos: :emphasize-lines: 2 [print:0.05mm ULTRADETAIL] inherits = *0.05mm* compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.*/ and nozzle_diameter[0]==0.4 and num_extruders==1 infill_extrusion_width = 0.5 Any settings not in this profile will be inherited from the *0.05mm ULTRADETAIL* preset, which in turn, inherits settings from the *common* preset. This allows a new profile to be defined with only a few lines of settings. Associating physical printers with printer profiles in configuration bundles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Physical printers can be associated with printer profiles with ``preset_name =``. Just be sure to specify the printer profile name exactly in the ``preset_name=`` line. If any printer profiles are not associated with your physical printer profile, you will get the annoying "extra" physical printer and associated popups when you import a configuration bundle. .. important:: Inheritance is only applied when a configuration bundle is imported into |PS|: * When you export a configuration bundle from |PS|, all inheritance statements are removed, and all settings are copied to each preset. Each preset contains all settings and no link is maintained between presets. * When you import a configuration bundle into |PS|, each imported profile inherits the settings from any baseline presets only at the time of import. No link is maintained between presets. This means that your master configuration bundle must currently be maintained by hand. Be careful not to overwrite you master configuration bundle files. Maintaining configuration bundles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I maintain presets two totally different printers: My Prusa i3 Mk3 and an Artillery Sidewinder X1. A few tips: 1. Maintain separate configuration bundle (``.ini``) files for each printer. That way you can reload changes for one without resetting the others. The config bundle for each printer should contain your baseline and sub-profiles for each nozzle. I've noticed that the Prusa profiles do not always specify the ``printer_model`` setting. Using that setting greatly simplifies setting up profile dependencies. I use **MK3** for my Prusa and **SWX1** for my Sidewinder. 2. Similarly, create separate configuration bundle (``.ini``) files for print settings. I like to use different settings for each printer, so maintain a print setting configuration bundle for each. You can use inheritance here again to reduce redundancy, as well as dependencies to reduce the amount of clutter in the menus. 3. Not surprisingly, keeping filament profiles in their own bundle keeps these frequently-changing profiles from screwing with your more stable printer and print settings. I don't use inheritance all that much in the filament profiles, but Prusa has taken this to an extreme with their profiles. Look in the ``PrusaResearch.ini`` file for examples. 4. Make a point of transferring any changes you make on the fly in the slicer to your config bundles before you forget. It is really nice to be able to use the configuration assistant to remove all of my custom files and reload a clean configuration in seconds, but it's always aggravating to realize I lost a good filament profile. It is a little frustrating that so much of this is currently hidden under the hood, but I am also pleased to see these capabilities being thought about and implemented in |PS|. As the GUI and documentation catch up with the underlying features, |PS| should become even more powerful. Given what's going on in the world and what Prusa has been up to in the last 12 months, I'm glad to see that they are still pouring so many resources into an open-source slicer that does not directly generate profit for them.  .. _prusaslicer_profile_dependencies: Understanding dependencies in |PS| ---------------------------------- Dependencies are used to restrict the visibility of presets based on other selected presets. Print and filament setting dependencies are used in the Prusa system profiles to restrict preset visibility to specific printers, MMU presence, and nozzle sizes. Unfortunately, dependencies are not well documented, and are a bit arcane. The image below highlights the dependencies field in filament settings: .. figure:: ../_images/3dprinting_prusaslicer_dependencies_filament.* :alt: PrusaSlicer filament setting dependencies :width: 100% :align: center PrusaSlicer filament setting dependencies Unfortunately, the entry field is restricted to a single line. Here's the text shown in the example: .. code-block:: perl ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material) To understand and decipher dependencies, be aware of the following: * The dependency line written using `PERL regular expression syntax `_. (Slic3r, the predecessor to |PS|, was written in PERL.) * Any |PS| setting can be used in the match pattern. In this example, ``printer_notes`` and ``single_extruder_multi_material`` are |PS| settings as specified in a :ref:`preset config file `. A full discussion of PERL syntax is beyond what I want to cover in these notes, but in short, this expression will match if the ``printer_notes`` do NOT contain both "PRINTER_VENDOR_PRUSA3D" and "PRINTER_MODEL_MK2.5 or 3" and the setting ``single_extruder_multi_material`` is true. I am not a fan of Prusa's current approach. They are making extensive use of values in the ``printer_notes`` field and trying to use very complex regular expression matching. In most cases, these conditions can be greatly simplified. Here's what Prusa uses to restrict a 0.2mm SPEED preset to the Prusa i3 Mk3 printer with a 0.4mm nozzle: .. code-block:: perl printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 This regular expression restricts visibility of this profile to printer presets that contain both the strings "PRINTER_VENDOR_PRUSA3D" and "PRINTER_MODEL_MK3" in the ``printer_notes`` field, and have the setting ``nozzle_diameter[0]`` to exactly 0.4mm. I've simplified this to: .. code-block:: perl printer_model=~/MK3/ and nozzle_diameter[0]>=0.25 This will match on a printer preset with ``printer_model`` set to Mk3 and ``nozzle_diameter[0]`` set to 0.25mm *or larger*. I prefer this approach since it uses discrete settings rather than string matching, and works with a range of nozzle sizes. .. note:: The setting ``printer_model`` exists in |PS| settings, but is not set in the Prusa system profiles. This setting is not exposed in the |PS| GUI, but can be set to any desired value by editing the configuration file. Dependencies can help keep the number of options displayed to a manageable number. Unfortunately, they can also cause confusion when presets appear and disappear seemingly at random. If you're just trying to make your presets visible, you can leave the dependencies blank. If you want to use a system profile with a non-Prusa printer preset, you can make a copy of the preset and delete or modify the dependency line. Look for more notes on using dependencies in print and filament presets below. .. _prusaslicer_profiles_printer: Customizing printer settings ---------------------------- Printer profiles contain settings related to your printer hardware: * Physical printer bed shape, dimensions, extruder count, and other hardware-specific settings. * Custom start, end, layer, tool, and object change gcode. * Printer feedrates (speeds), acceleration, and jerk settings. * Extruder nozzle size, layer heights, and retraction settings. .. important:: As of |PS| version 2.3.0, Prusa has made significant changes to how profiles are organized. In particular, Prusa has linked all filament presets to specific Prusa printers using dependencies in each preset. If you want to use the default Prusa filament presets with a non-Prusa printer, you will need to create a custom set of filament profiles. This will apply to *any custom printer profile you create*, no matter how trivial the setting. See below for more notes on creating custom filament profiles. Customizing nozzle settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The first step to using a new nozzle size with |PS| is to create a new printer profile using the new nozzle settings. Select a printer profile close to the new nozzle. Open the ``Printer Settings`` tab, select the ``Extruder 1`` option and adjust the nozzle size and layer height settings under ``Size``. .. figure:: ../_images/prusaslicer_nozzle_sizes_extruder_settings_highlighted.* :alt: PrusaSlicer printer setting extruder settings :width: 100% :align: center PrusaSlicer printer setting extruder settings * Set ``Nozzle diameter`` to the diameter of the opening on the new nozzle. * Set layer height ``Min`` to the minimum layer height. 25% of nozzle diameter is a good starting point. The Prusa i3 Mk3 is capable of layer heights as low as 0.05mm and possibly lower. * Set layer height ``Max`` to the maximum layer height. 120% of nozzle diameter is the recommended maximum layer height. Any higher than this and the hotend places cylindrical extrusions with no "squish" to provide good inter-layer adhesion. The minimum and maximum layer height settings are not enforced in |PS|. You can more-or-less enter any value you like in your print settings. The minimum and maximum values are used to set lower and upper layer height limits when applying :ref:`automatic variable layer heights `. Click the disk icon and save your profile with a new name. I recommend including the new nozzle size in the name. .. important:: Once you save your profile, it is important to update the dependencies in your print setting profiles. See :ref:`my notes on dependencies` below for details. Customizing G-Code ^^^^^^^^^^^^^^^^^^ |PS| (and any other slicer for that matter) creates files containing g-code, a series of commands that are sent to the printer for execution. You can customize various g-code sequences that |PS| will embed at key points in your print job: * Start G-code is sent at the start of the print job, before any actual printing commands are sent. Start g-code will set nozzle and heated bed temps, print the prime line at the start of each print, and a host of other housekeeping functions. * End G-code is used to shut the printer down in an orderly fashion. It turns off the heating elements, motors and fans. Additional g-code sequences can be specified for before and after every layer change. To modify g-code, open the ``Printer Settings`` tab, select the ``Custom G-code`` option and edit the individual g-code sequences. For more information on customizing g-code, refer to the :ref:`custom g-code ` page. .. figure:: ../_images/3dprinting_prusaslicer_printer_gcode.* :alt: Modifying G-Code :width: 100% :align: center Modifying G-Code .. _prusaslicer_profiles_print: Customizing print job settings ------------------------------ .. _set_extrusion_widths: Set extrusion widths ^^^^^^^^^^^^^^^^^^^^ To create a print settings profile tailored to the size of your new nozzle, open the ``Print Settings`` tab, select the ``Advanced`` options and adjust the extrusion widths for different print features. .. figure:: ../_images/prusaslicer_nozzle_sizes_extrusion_width_highlighted.* :alt: PrusaSlicer print setting extruder width :width: 100% :align: center PrusaSlicer print setting extruder width .. note:: You can create a single print profile that will work with all nozzle sizes by taking advantage of the auto settings for extrusion widths. Selecting "0" for the width of any feature will direct PrusaSlicer to calculate a width based on the nozzle size when slicing your models. This allows creating a single general-purpose profile that will work well with any nozzle. If you want precision, you will want to create a new profile per nozzle size. For detailed prints, I like to create a profile for each layer height and nozzle size pairing set as follows: * External perimeters set to exactly the nozzle size for precision. * Internal perimeters either set to exactly the nozzle size, or use PrusaSlicer's default (1.25 X nozzle size) by specifying 0. * 1st layer extrusion widths of 1.2 X nozzle size for adhesion. Wider values improve adhesion. As far as maximum extrusion widths, I've read that up to the width of the nozzle -- including the rim around the opening -- will produce good results. Wider than that and you get squishy defects at the edges. You can find good dimensional details on the genuine E3D nozzles, less so on the cheap brass generics. I'm very curious to see what results you guys get going wider than the nozzle opening. .. todo:: Clarify setting extrusion widths as percentage of layer height. Autospeed settings ^^^^^^^^^^^^^^^^^^ Autospeed is a bit of a mystery largely due to poor documentation. This feature doesn't do anything unless used in conjunction with the **Printer Settings->General->Advanced->Use volumetric E**. The idea behind this feature is that the slicer will calculate speeds to provide a consistent flow of filament throughout the print, reducing variations in printed surfaces and reducing the need for retraction and other measures. Unfortunately, this feature doesn't seem to be fully mature and quality is poor compared to normal mode printing. Set layer heights ^^^^^^^^^^^^^^^^^ Open the ``Print Settings`` tab, select ``Layers and perimeters`` options. .. figure:: ../_images/prusaslicer_nozzle_sizes_layer_settings_highlighted.* :alt: PrusaSlicer print setting layer settings :width: 100% :align: center PrusaSlicer print setting layer settings * Set ``Layer height`` to the layer height you want to use throughout your print. * Set ``First layer height`` to a thickness sufficient to provide good first layer adhesion. For nozzle sizes 0.25mm and larger, 0.20mm thickness works well for the first layer. Remember to stay within 80% of your nozzle size. Set print speeds ^^^^^^^^^^^^^^^^ Open the ``Print Settings`` tab, select ``Speed`` options. .. figure:: ../_images/prusaslicer_nozzle_sizes_speed_settings_highlighted.* :alt: PrusaSlicer print setting speed settings :width: 100% :align: center PrusaSlicer print setting speed settings Adjust print speeds to suit your quality settings. I recommend basing speeds on the nozzle size you're using: * For fine detail using nozzles smaller than 0.40mm, use the Prusa 0.25mm profile as the basis for speed settings. * For larger prints using nozzles 0.40mm or larger, use the Prusa 0.60mm profile as the basis for speed settings. Open the ``Print Settings`` tab, select ``Advanced`` options. .. figure:: ../_images/prusaslicer_nozzle_sizes_default_speed_settings_highlighted.* :alt: PrusaSlicer print setting default speed settings :width: 100% :align: center PrusaSlicer print setting default speed settings Adjust print autospeeds to suit your quality settings. * Set ``Max print speed`` to a reasonable setting for the filament you're using. 120mm/s or less works well with most filaments. * Set ``Max volumentric speed`` to your hotend maximum throughput rating. For the E3D V6 hotend used on the Prusa i3 Mk3, 11.5 |mm3s| is a good default. See :ref:`the article on nozzle sizes ` for more information on maximum volumetric speeds. Set acceleration rates ^^^^^^^^^^^^^^^^^^^^^^ Open the ``Print Settings`` tab, select ``speed`` options and scroll down to the acceleration settings. .. figure:: ../_images/prusaslicer_nozzle_sizes_acceleration_settings_highlighted.* :alt: PrusaSlicer print setting acceleration settings :width: 100% :align: center PrusaSlicer print setting acceleration settings Adjust acceleration speeds to suit your quality settings. I recommend basing speeds on the nozzle size you're using: * For fine detail using nozzles smaller than 0.40mm, use the Prusa 0.25mm profile as the basis for acceleration settings. * For larger prints using nozzles 0.40mm or larger, use the Prusa 0.60mm profile as the basis for acceleration settings. .. _prusaslicer_print_setting_dependencies: Print setting preset dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Once you've customized your print settings, you'll want to use them with a variety of printer and nozzle combinations. The |PS| default profiles include dependencies that can cause problems if you're not aware of them. If you look under ``Print Settings`` tab in the ``dependencies`` field, you'll see a ``compatible printers`` line that reads: printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 Notice that ``==0.4`` at the end. That will restrict these settings to printer profiles that have a nozzle of exactly 0.40mm size. To use your profile with other nozzle sizes, you can change that condition to ``>=0.4`` as shown below. .. important:: If your profiles are not showing up in |PS|, be sure to check the dependencies in print settings, filament and printer profiles. Compatible profiles will be shown with a green flag. A red flag indicates an incompatible profile due to dependency requirements. Items shown with a red flag may mysteriously disappear as you change incompatible settings. .. figure:: ../_images/prusaslicer_nozzle_sizes_dependencies.* :alt: PrusaSlicer print setting dependencies :width: 100% :align: center PrusaSlicer print setting dependencies Don't forget to set your extrusion widths to match your nozzle size. See :ref:`extrusion width settings` above for details. .. todo:: Post-processing scripts .. _prusaslicer_profiles_filament: Customizing filament settings ----------------------------- .. todo:: filament settings presets Filament setting preset dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. todo:: filament setting dependencies .. seealso:: * `The Prusa blog entry on nozzle sizes `_ * The `Prusa GitHub announcement on PrusaSlicer vendor bundles and update process `_ * :ref:`Notes on nozzle sizes ` .. include:: 3dprinting_footer.rst Last modified Sep 22, 2021. Last build on |today|.