diff --git a/Home.md b/Home.md index c0738b5..9d775f3 100644 --- a/Home.md +++ b/Home.md @@ -2,16 +2,25 @@ Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki page aims to provide an detailed explanation of the slicer settings, how to get the most out of them as well as how to calibrate and setup your printer. +- [Prepare](#prepare) - [Print Settings, Tips and Tricks](#print-settings-tips-and-tricks) - [Quality Settings](#quality-settings) - [Speed Settings](#speed-settings) - - [Multi material](#multi-material) + - [Strength Settings](#strength-settings) +- [Material Settings](#material-settings) - [Printer Settings](#printer-settings) - [Printer Calibration](#printer-calibration) - [Developer Section](#developer-section) > [!NOTE] -> The Wiki is **Work In Progress** so bear with us while we get it up and running! +> The Wiki is **Work In Progress** so bear with us while we get it up and running! +> Please consider contributing to the wiki following the [How to contribute to the wiki](How-to-wiki) guide. + +## Prepare + +First steps to prepare your model/s for printing. + +- [STL Transformation](stl-transformation) ## Print Settings, Tips and Tricks @@ -22,17 +31,31 @@ The below sections provide a detailed settings explanation as well as tips and t - [Layer Height Settings](quality_settings_layer_height) - [Line Width Settings](quality_settings_line_width) - [Seam Settings](quality_settings_seam) -- [Precise wall](Precise-wall) -- [Precise Z height](precise-z-height) -- [STL Transformation](stl-transformation) +- [Precision](quality_settings_precision) + - [Precise Wall](quality_settings_precision#precise-wall) + - [Precise Z Height](quality_settings_precision#precise-z-height) + - [Slice gap closing radius](quality_settings_precision#slice-gap-closing-radius) + - [Resolution](quality_settings_precision#resolution) + - [Arc fitting](quality_settings_precision#arc-fitting) + - [X-Y Compensation](quality_settings_precision#x-y-compensation) + - [Elephant foot compensation](quality_settings_precision#elephant-foot-compensation) + - [Precise wall](quality_settings_precision#precise-wall) + - [Precise Z Height](quality_settings_precision#precise-z-height) + - [Polyholes](quality_settings_precision#polyholes) +- [Wall generator](quality_settings_wall_generator) ### Speed Settings -- [Extrusion rate smoothing](extrusion-rate-smoothing) +- [Extrusion rate smoothing](speed_extrusion_rate_smoothing) -### Multi material +### Strength Settings + +- [Infill](strength_settings_infill) + +## Material Settings - [Single Extruder Multimaterial](semm) +- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient) ### Printer Settings @@ -41,8 +64,6 @@ The below sections provide a detailed settings explanation as well as tips and t - [Chamber temperature control](chamber-temperature) - [Adaptive Bed Mesh](adaptive-bed-mesh) - [Using different bed types in Orca](bed-types) -- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient) -- [Fill Patterns](fill-patterns) ## Printer Calibration @@ -61,8 +82,12 @@ The [Calibration Guide](Calibration) outlines Orca’s key calibration tests and ## Developer Section +This is a documentation from someone exploring the code and is by no means complete or even completely accurate. Please edit the parts you might find inaccurate. This is probably going to be helpful nonetheless. + - [How to build Orca Slicer](How-to-build) - [Localization and translation guide](Localization_guide) -- [Developer Reference](Developers-Home) - [How to create profiles](How-to-create-profiles) - [How to contribute to the wiki](How-to-wiki) +- [Preset, PresetBundle and PresetCollection](Preset-and-bundle) +- [Plater, Sidebar, Tab, ComboBox](plater-sidebar-tab-combobox) +- [Slicing Call Hierarchy](slicing-hierarchy) diff --git a/Precise-wall.md b/Precise-wall.md deleted file mode 100644 index b1ba5f3..0000000 --- a/Precise-wall.md +++ /dev/null @@ -1,25 +0,0 @@ -# Precise Wall - -The 'Precise Wall' is a distinctive feature introduced by OrcaSlicer, aimed at improving the dimensional accuracy of prints and minimizing layer inconsistencies by slightly increasing the spacing between the outer wall and the inner wall. - -## Technical explanation - -Below is a technical explanation of how this feature works. - -First, it's important to understand some basic concepts like flow, extrusion width, and space. Slic3r has an excellent document that covers these topics in detail. You can refer to this [article](https://manual.slic3r.org/advanced/flow-math). - -Now, let's dive into the specifics. Slic3r and its forks, such as PrusaSlicer, SuperSlicer, and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping. - -- **Precise Wall Off** - -  - -- **Precise Wall On** - -  - -This approach enhances the strength of 3D-printed parts. However, it does have some side effects. For instance, when the inner-outer wall order is used, the outer wall can be pushed outside, leading to potential size inaccuracy and more layer inconsistency. - -It's important to keep in mind that this approach to handling flow is specific to Slic3r and its forks. Other slicing software, such as Cura, assumes that the extrusion path is rectangular and, therefore, does not include overlapping. Two 0.4 mm walls will result in a 0.8 mm shell thickness in Cura. - -OrcaSlicer adheres to Slic3r's approach to handling flow. To address the downsides mentioned earlier, OrcaSlicer introduced the 'Precise Wall' feature. When this feature is enabled in OrcaSlicer, the overlap between the outer wall and its adjacent inner wall is set to zero. This ensures that the overall strength of the printed part is unaffected, while the size accuracy and layer consistency are improved. diff --git a/print_settings/calibration/Calibration.md b/calibration/Calibration.md similarity index 100% rename from print_settings/calibration/Calibration.md rename to calibration/Calibration.md diff --git a/print_settings/calibration/adaptive-pressure-advance-calib.md b/calibration/adaptive-pressure-advance-calib.md similarity index 100% rename from print_settings/calibration/adaptive-pressure-advance-calib.md rename to calibration/adaptive-pressure-advance-calib.md diff --git a/print_settings/calibration/cornering-calib.md b/calibration/cornering-calib.md similarity index 95% rename from print_settings/calibration/cornering-calib.md rename to calibration/cornering-calib.md index 3fb0c1e..e8d78f5 100644 --- a/print_settings/calibration/cornering-calib.md +++ b/calibration/cornering-calib.md @@ -4,7 +4,7 @@ Cornering is a critical aspect of 3D printing that affects the quality and accur ## Jerk -TODO: Jerk calibration not implemented yet. +WIP... TODO: Jerk calibration not implemented yet. ## Junction Deviation @@ -52,9 +52,9 @@ The default value in Marlin is typically set to 0.08mm, which may be too high fo 3. Recompile your MarlinFW 1. In Configuration.h uncomment and set: ```cpp - #define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edge + #define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edge ``` 2. Check Classic Jerk is disabled (commented). ```cpp - //#define CLASSIC_JERK + //#define CLASSIC_JERK ``` diff --git a/print_settings/calibration/flow-rate-calib.md b/calibration/flow-rate-calib.md similarity index 100% rename from print_settings/calibration/flow-rate-calib.md rename to calibration/flow-rate-calib.md diff --git a/print_settings/calibration/input-shaping-calib.md b/calibration/input-shaping-calib.md similarity index 100% rename from print_settings/calibration/input-shaping-calib.md rename to calibration/input-shaping-calib.md diff --git a/print_settings/calibration/pressure-advance-calib.md b/calibration/pressure-advance-calib.md similarity index 100% rename from print_settings/calibration/pressure-advance-calib.md rename to calibration/pressure-advance-calib.md diff --git a/print_settings/calibration/retraction-calib.md b/calibration/retraction-calib.md similarity index 100% rename from print_settings/calibration/retraction-calib.md rename to calibration/retraction-calib.md diff --git a/print_settings/calibration/temp-calib.md b/calibration/temp-calib.md similarity index 100% rename from print_settings/calibration/temp-calib.md rename to calibration/temp-calib.md diff --git a/print_settings/calibration/tolerance-calib.md b/calibration/tolerance-calib.md similarity index 100% rename from print_settings/calibration/tolerance-calib.md rename to calibration/tolerance-calib.md diff --git a/print_settings/calibration/volumetric-speed-calib.md b/calibration/volumetric-speed-calib.md similarity index 100% rename from print_settings/calibration/volumetric-speed-calib.md rename to calibration/volumetric-speed-calib.md diff --git a/developer-reference/Developers-Home.md b/developer-reference/Developers-Home.md deleted file mode 100644 index 8080e95..0000000 --- a/developer-reference/Developers-Home.md +++ /dev/null @@ -1,7 +0,0 @@ -# For Developers - -This is a documentation from someone exploring the code and is by no means complete or even completely accurate. Please edit the parts you might find inaccurate. This is probably going to be helpful nonetheless. - -- [Preset, PresetBundle and PresetCollection](Preset-and-bundle) -- [Plater, Sidebar, Tab, ComboBox](plater-sidebar-tab-combobox) -- [Slicing Call Hierarchy](slicing-hierarchy) diff --git a/How-to-build.md b/developer-reference/How-to-build.md similarity index 95% rename from How-to-build.md rename to developer-reference/How-to-build.md index 2377656..575dffc 100644 --- a/How-to-build.md +++ b/developer-reference/How-to-build.md @@ -57,6 +57,10 @@ This guide is for building your Visual Studio 2022 solution for OrcaSlicer on Wi ```shell build_release_vs2022.bat ``` + +> [!NOTE] +> If you encounter issues, you can try to uninstall ZLIB from your Vcpkg library. + 3. If successful, you will find the VS 2022 solution file in: ```shell build\OrcaSlicer.sln @@ -65,7 +69,7 @@ This guide is for building your Visual Studio 2022 solution for OrcaSlicer on Wi > [!IMPORTANT] > Make sure that CMake version 3.31.x is actually being used. Run `cmake --version` and verify it returns a **3.31.x** version. > If you see an older version (e.g. 3.29), it's likely due to another copy in your system's PATH (e.g. from Strawberry Perl). -> You can run where cmake to check the active paths and rearrange your System Environment Variables > PATH, ensuring the correct CMake (e.g. C:\Program Files\CMake\bin) appears before others like C:\Strawberry\c\bin. +> You can run where cmake to check the active paths and rearrange your **System Environment Variables** > PATH, ensuring the correct CMake (e.g. C:\Program Files\CMake\bin) appears before others like C:\Strawberry\c\bin. > [!NOTE] > If the build fails, try deleting the `build/` and `deps/build/` directories to clear any cached build data. Rebuilding after a clean-up is usually sufficient to resolve most issues. diff --git a/How-to-create-profiles.md b/developer-reference/How-to-create-profiles.md similarity index 100% rename from How-to-create-profiles.md rename to developer-reference/How-to-create-profiles.md diff --git a/How-to-wiki.md b/developer-reference/How-to-wiki.md similarity index 100% rename from How-to-wiki.md rename to developer-reference/How-to-wiki.md diff --git a/Localization_guide.md b/developer-reference/Localization_guide.md similarity index 100% rename from Localization_guide.md rename to developer-reference/Localization_guide.md diff --git a/developer-reference/plater-sidebar-tab-combobox.md b/developer-reference/plater-sidebar-tab-combobox.md index 1f01e7b..e7a4c51 100644 --- a/developer-reference/plater-sidebar-tab-combobox.md +++ b/developer-reference/plater-sidebar-tab-combobox.md @@ -1,6 +1,9 @@ # Application Structure Overview -### !! incomplete, possibly inaccurate, being updated with new info !! +WIP... + +> [!WARNING] +> !! incomplete, possibly inaccurate, being updated with new info !! ## [`Plater`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Plater.hpp) diff --git a/fill-patterns.md b/fill-patterns.md deleted file mode 100644 index 73a832b..0000000 --- a/fill-patterns.md +++ /dev/null @@ -1,91 +0,0 @@ -# Infill Patterns -WIP... - -## Concentric - - - -## Rectilinear - - - -## Grid - - - -## 2D Lattice - - - -## Line - - - -## Cubic - - - -## Triangles - - - -## Tri-hexagon - - - -## Gyroid - - - -## Honeycomb - - - -## Adaptive Cubic - - - -## Aligned Rectilinear - - - -## 3D Honeycomb - - - -## Hilbert Curve - - - -## Archimedean Chords - - - -## Octagram Spiral - - - -## Support Cubic - - - -## Lightning - - - -## Cross Hatch - - - -## Quartered Cubic - - - -> [!NOTE] -> Standard images are taken with: -> - Primitive Cube: 66mm x 66mm x 66mm -> - Layer Height: 0.2mm -> - Infill Density: 15% -> - Layer Count: 329 -> - Wall loops: 3 (Hide in isometric view) -> - Anchor: Off diff --git a/images/Precision/PolyHoles.png b/images/Precision/PolyHoles.png new file mode 100644 index 0000000..7fce377 Binary files /dev/null and b/images/Precision/PolyHoles.png differ diff --git a/images/PreciseWall/PreciseWallOff.svg b/images/Precision/PreciseWallOff.svg similarity index 100% rename from images/PreciseWall/PreciseWallOff.svg rename to images/Precision/PreciseWallOff.svg diff --git a/images/PreciseWall/PreciseWallOn.svg b/images/Precision/PreciseWallOn.svg similarity index 100% rename from images/PreciseWall/PreciseWallOn.svg rename to images/Precision/PreciseWallOn.svg diff --git a/images/PreciseZ/PreciseZOff.png b/images/Precision/PreciseZOff.png similarity index 100% rename from images/PreciseZ/PreciseZOff.png rename to images/Precision/PreciseZOff.png diff --git a/images/PreciseZ/PreciseZOn.png b/images/Precision/PreciseZOn.png similarity index 100% rename from images/PreciseZ/PreciseZOn.png rename to images/Precision/PreciseZOn.png diff --git a/images/Precision/arc-fitting.svg b/images/Precision/arc-fitting.svg new file mode 100644 index 0000000..acb997c --- /dev/null +++ b/images/Precision/arc-fitting.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/Precision/elephant-foot-compensation.png b/images/Precision/elephant-foot-compensation.png new file mode 100644 index 0000000..55d87c2 Binary files /dev/null and b/images/Precision/elephant-foot-compensation.png differ diff --git a/images/Precision/elephant-foot.svg b/images/Precision/elephant-foot.svg new file mode 100644 index 0000000..88a29c0 --- /dev/null +++ b/images/Precision/elephant-foot.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/WallGenerator/wallgenerator-arachne.png b/images/WallGenerator/wallgenerator-arachne.png new file mode 100644 index 0000000..21d14d7 Binary files /dev/null and b/images/WallGenerator/wallgenerator-arachne.png differ diff --git a/images/WallGenerator/wallgenerator-classic.png b/images/WallGenerator/wallgenerator-classic.png new file mode 100644 index 0000000..8d884f6 Binary files /dev/null and b/images/WallGenerator/wallgenerator-classic.png differ diff --git a/images/fill/infill-iso-2d-lattice.png b/images/fill/infill-iso-2d-lattice.png deleted file mode 100644 index 12e0e83..0000000 Binary files a/images/fill/infill-iso-2d-lattice.png and /dev/null differ diff --git a/images/fill/infill-iso-3d-honeycomb.png b/images/fill/infill-iso-3d-honeycomb.png deleted file mode 100644 index 67eb5e0..0000000 Binary files a/images/fill/infill-iso-3d-honeycomb.png and /dev/null differ diff --git a/images/fill/infill-iso-adaptative-cubic.png b/images/fill/infill-iso-adaptative-cubic.png deleted file mode 100644 index 4beb64c..0000000 Binary files a/images/fill/infill-iso-adaptative-cubic.png and /dev/null differ diff --git a/images/fill/infill-iso-aligned-rectilinear.png b/images/fill/infill-iso-aligned-rectilinear.png deleted file mode 100644 index e337e57..0000000 Binary files a/images/fill/infill-iso-aligned-rectilinear.png and /dev/null differ diff --git a/images/fill/infill-iso-archimedean-chords.png b/images/fill/infill-iso-archimedean-chords.png deleted file mode 100644 index 6d18939..0000000 Binary files a/images/fill/infill-iso-archimedean-chords.png and /dev/null differ diff --git a/images/fill/infill-iso-concentric.png b/images/fill/infill-iso-concentric.png deleted file mode 100644 index 6886c1f..0000000 Binary files a/images/fill/infill-iso-concentric.png and /dev/null differ diff --git a/images/fill/infill-iso-cross-hatch.png b/images/fill/infill-iso-cross-hatch.png deleted file mode 100644 index 218f2dd..0000000 Binary files a/images/fill/infill-iso-cross-hatch.png and /dev/null differ diff --git a/images/fill/infill-iso-cubic.png b/images/fill/infill-iso-cubic.png deleted file mode 100644 index f0b834f..0000000 Binary files a/images/fill/infill-iso-cubic.png and /dev/null differ diff --git a/images/fill/infill-iso-grid.png b/images/fill/infill-iso-grid.png deleted file mode 100644 index bcb7757..0000000 Binary files a/images/fill/infill-iso-grid.png and /dev/null differ diff --git a/images/fill/infill-iso-gyroid.png b/images/fill/infill-iso-gyroid.png deleted file mode 100644 index 601abac..0000000 Binary files a/images/fill/infill-iso-gyroid.png and /dev/null differ diff --git a/images/fill/infill-iso-hilbert-curve.png b/images/fill/infill-iso-hilbert-curve.png deleted file mode 100644 index ffee09e..0000000 Binary files a/images/fill/infill-iso-hilbert-curve.png and /dev/null differ diff --git a/images/fill/infill-iso-honeycomb.png b/images/fill/infill-iso-honeycomb.png deleted file mode 100644 index e36b8c6..0000000 Binary files a/images/fill/infill-iso-honeycomb.png and /dev/null differ diff --git a/images/fill/infill-iso-lightning.png b/images/fill/infill-iso-lightning.png deleted file mode 100644 index 7b40354..0000000 Binary files a/images/fill/infill-iso-lightning.png and /dev/null differ diff --git a/images/fill/infill-iso-line.png b/images/fill/infill-iso-line.png deleted file mode 100644 index 5ea5179..0000000 Binary files a/images/fill/infill-iso-line.png and /dev/null differ diff --git a/images/fill/infill-iso-octagram-spiral.png b/images/fill/infill-iso-octagram-spiral.png deleted file mode 100644 index 32c185a..0000000 Binary files a/images/fill/infill-iso-octagram-spiral.png and /dev/null differ diff --git a/images/fill/infill-iso-quarter-cubic.png b/images/fill/infill-iso-quarter-cubic.png deleted file mode 100644 index 499406d..0000000 Binary files a/images/fill/infill-iso-quarter-cubic.png and /dev/null differ diff --git a/images/fill/infill-iso-rectilinear.png b/images/fill/infill-iso-rectilinear.png deleted file mode 100644 index 41950f3..0000000 Binary files a/images/fill/infill-iso-rectilinear.png and /dev/null differ diff --git a/images/fill/infill-iso-support-cubic.png b/images/fill/infill-iso-support-cubic.png deleted file mode 100644 index c09a3c5..0000000 Binary files a/images/fill/infill-iso-support-cubic.png and /dev/null differ diff --git a/images/fill/infill-iso-tri-hexagon.png b/images/fill/infill-iso-tri-hexagon.png deleted file mode 100644 index 4ac5baf..0000000 Binary files a/images/fill/infill-iso-tri-hexagon.png and /dev/null differ diff --git a/images/fill/infill-iso-triangles.png b/images/fill/infill-iso-triangles.png deleted file mode 100644 index 005194f..0000000 Binary files a/images/fill/infill-iso-triangles.png and /dev/null differ diff --git a/images/fill/infill-top-2d-lacttice.png b/images/fill/infill-top-2d-lacttice.png deleted file mode 100644 index 519d480..0000000 Binary files a/images/fill/infill-top-2d-lacttice.png and /dev/null differ diff --git a/images/fill/infill-top-2d-lattice.png b/images/fill/infill-top-2d-lattice.png new file mode 100644 index 0000000..a67d27a Binary files /dev/null and b/images/fill/infill-top-2d-lattice.png differ diff --git a/images/fill/infill-top-3d-honeycomb.png b/images/fill/infill-top-3d-honeycomb.png index 1012797..749df03 100644 Binary files a/images/fill/infill-top-3d-honeycomb.png and b/images/fill/infill-top-3d-honeycomb.png differ diff --git a/images/fill/infill-top-adaptative-cubic.png b/images/fill/infill-top-adaptative-cubic.png deleted file mode 100644 index be4aa71..0000000 Binary files a/images/fill/infill-top-adaptative-cubic.png and /dev/null differ diff --git a/images/fill/infill-top-adaptive-cubic.png b/images/fill/infill-top-adaptive-cubic.png new file mode 100644 index 0000000..8fdb765 Binary files /dev/null and b/images/fill/infill-top-adaptive-cubic.png differ diff --git a/images/fill/infill-top-aligned-rectilinear.png b/images/fill/infill-top-aligned-rectilinear.png index aef7251..0df2b71 100644 Binary files a/images/fill/infill-top-aligned-rectilinear.png and b/images/fill/infill-top-aligned-rectilinear.png differ diff --git a/images/fill/infill-top-archimedean-chords.png b/images/fill/infill-top-archimedean-chords.png index a9c1fd1..3e2f78d 100644 Binary files a/images/fill/infill-top-archimedean-chords.png and b/images/fill/infill-top-archimedean-chords.png differ diff --git a/images/fill/infill-top-concentric.png b/images/fill/infill-top-concentric.png index 3771afb..fe981fe 100644 Binary files a/images/fill/infill-top-concentric.png and b/images/fill/infill-top-concentric.png differ diff --git a/images/fill/infill-top-cross-hatch.png b/images/fill/infill-top-cross-hatch.png index 96b95e2..15e6b67 100644 Binary files a/images/fill/infill-top-cross-hatch.png and b/images/fill/infill-top-cross-hatch.png differ diff --git a/images/fill/infill-top-cubic.png b/images/fill/infill-top-cubic.png index 08f11ca..0f3a1af 100644 Binary files a/images/fill/infill-top-cubic.png and b/images/fill/infill-top-cubic.png differ diff --git a/images/fill/infill-top-grid.png b/images/fill/infill-top-grid.png index b6b3460..6a85340 100644 Binary files a/images/fill/infill-top-grid.png and b/images/fill/infill-top-grid.png differ diff --git a/images/fill/infill-top-gyroid.png b/images/fill/infill-top-gyroid.png index 211a697..dee06c3 100644 Binary files a/images/fill/infill-top-gyroid.png and b/images/fill/infill-top-gyroid.png differ diff --git a/images/fill/infill-top-hilbert-curve.png b/images/fill/infill-top-hilbert-curve.png index 86bcd58..60399e2 100644 Binary files a/images/fill/infill-top-hilbert-curve.png and b/images/fill/infill-top-hilbert-curve.png differ diff --git a/images/fill/infill-top-honeycomb.png b/images/fill/infill-top-honeycomb.png index 402d29b..bf6ec72 100644 Binary files a/images/fill/infill-top-honeycomb.png and b/images/fill/infill-top-honeycomb.png differ diff --git a/images/fill/infill-top-infill-top-2d-honeycomb.png b/images/fill/infill-top-infill-top-2d-honeycomb.png new file mode 100644 index 0000000..257dd83 Binary files /dev/null and b/images/fill/infill-top-infill-top-2d-honeycomb.png differ diff --git a/images/fill/infill-top-lightning.png b/images/fill/infill-top-lightning.png index e7c4a5a..cd9903e 100644 Binary files a/images/fill/infill-top-lightning.png and b/images/fill/infill-top-lightning.png differ diff --git a/images/fill/infill-top-line.png b/images/fill/infill-top-line.png index 3aeaa82..67b1ff6 100644 Binary files a/images/fill/infill-top-line.png and b/images/fill/infill-top-line.png differ diff --git a/images/fill/infill-top-octagram-spiral.png b/images/fill/infill-top-octagram-spiral.png index d384b21..94afbd3 100644 Binary files a/images/fill/infill-top-octagram-spiral.png and b/images/fill/infill-top-octagram-spiral.png differ diff --git a/images/fill/infill-top-quarter-cubic.png b/images/fill/infill-top-quarter-cubic.png new file mode 100644 index 0000000..1041e01 Binary files /dev/null and b/images/fill/infill-top-quarter-cubic.png differ diff --git a/images/fill/infill-top-quartered-cubic.png b/images/fill/infill-top-quartered-cubic.png deleted file mode 100644 index 4d2fe6e..0000000 Binary files a/images/fill/infill-top-quartered-cubic.png and /dev/null differ diff --git a/images/fill/infill-top-rectilinear.png b/images/fill/infill-top-rectilinear.png index a77ce13..c4b5639 100644 Binary files a/images/fill/infill-top-rectilinear.png and b/images/fill/infill-top-rectilinear.png differ diff --git a/images/fill/infill-top-support-cubic.png b/images/fill/infill-top-support-cubic.png index 8dfe1bf..309910e 100644 Binary files a/images/fill/infill-top-support-cubic.png and b/images/fill/infill-top-support-cubic.png differ diff --git a/images/fill/infill-top-tpms-d.png b/images/fill/infill-top-tpms-d.png new file mode 100644 index 0000000..21159fe Binary files /dev/null and b/images/fill/infill-top-tpms-d.png differ diff --git a/images/fill/infill-top-tri-hexagon.png b/images/fill/infill-top-tri-hexagon.png index 43ad5b8..e2229ae 100644 Binary files a/images/fill/infill-top-tri-hexagon.png and b/images/fill/infill-top-tri-hexagon.png differ diff --git a/images/fill/infill-top-triangles.png b/images/fill/infill-top-triangles.png index 1967588..e8bbed4 100644 Binary files a/images/fill/infill-top-triangles.png and b/images/fill/infill-top-triangles.png differ diff --git a/pellet-flow-coefficient.md b/material_settings/pellet-flow-coefficient.md similarity index 100% rename from pellet-flow-coefficient.md rename to material_settings/pellet-flow-coefficient.md diff --git a/semm.md b/material_settings/semm.md similarity index 100% rename from semm.md rename to material_settings/semm.md diff --git a/precise-z-height.md b/precise-z-height.md deleted file mode 100644 index fa862bf..0000000 --- a/precise-z-height.md +++ /dev/null @@ -1,15 +0,0 @@ -# Precise Z Height Adjustment - -This feature ensures the accurate Z height of the model after slicing, even if the model height is not a multiple of the layer height. - -For example, slicing a 20mm x 20mm x 20.1mm cube with a layer height of 0.2mm would typically result in a final height of 20.2mm due to the layer height increments. - -By enabling this parameter, the layer height of the last five layers is adjusted so that the final sliced height matches the actual object height, resulting in an accurate 20.1mm (as shown in the picture). - -- **Precise Z Height Off** - -  - -- **Precise Z Height On** - -  diff --git a/stl-transformation.md b/print_prepare/stl-transformation.md similarity index 100% rename from stl-transformation.md rename to print_prepare/stl-transformation.md diff --git a/print_settings/quality/quality_settings_precision.md b/print_settings/quality/quality_settings_precision.md new file mode 100644 index 0000000..b6f0bca --- /dev/null +++ b/print_settings/quality/quality_settings_precision.md @@ -0,0 +1,112 @@ +# Precision + +This section covers the settings that affect the precision of your prints. These settings can help you achieve better dimensional accuracy, reduce artifacts, and improve overall print quality. + +- [Slice gap closing radius](#slice-gap-closing-radius) +- [Resolution](#resolution) +- [Arc fitting](#arc-fitting) +- [X-Y Compensation](#x-y-compensation) +- [Elephant foot compensation](#elephant-foot-compensation) +- [Precise wall](#precise-wall) + - [Technical explanation](#technical-explanation) +- [Precise Z Height](#precise-z-height) +- [Polyholes](#polyholes) + + +## Slice gap closing radius + +Cracks smaller than 2x gap closing radiusCracks smaller than 2x gap closing radius are being filled during the triangle mesh slicing. The gap closing operation may reduce the final print resolution, therefore it is advisable to keep the value reasonably low. + +## Resolution + +The G-code path is generated after simplifying the contour of models to avoid too many points and G-code lines. Smaller value means higher resolution and more time to slice. + +## Arc fitting + +Enable this to get a G-code file which has [G2 and G3](https://marlinfw.org/docs/gcode/G002-G003.html) moves. + +After a model is sliced this feature will replace straight line segments with arcs where possible. This is particularly useful for curved surfaces, as it allows the printer to move in a more fluid manner, reducing the number of G-code commands and improving the overall print quality. + +This will result in a smaller G-code file for the same model, as arcs are used instead of many short line segments. This can improve print quality and reduce printing time, especially for curved surfaces. + + + +> [!IMPORTANT] +> This option is only available for machines that support G2 and G3 commands and may impact in CPU usage on the printer. + +> [!NOTE] +> **Klipper machines**, this option is recommended to be disabled. +Klipper does not benefit from arc commands as these are split again into line segments by the firmware. This results in a reduction in surface quality as line segments are converted to arcs by the slicer and then back to line segments by the firmware. + +## X-Y Compensation + +Used to compensate external dimensions of the model. +With this option you can compensate material expansion or shrinkage, which can occur due to various factors such as the type of filament used, temperature fluctuations, or printer calibration issues. + +Follow the [Calibration Guide](https://github.com/SoftFever/OrcaSlicer/wiki/Calibration) and [Filament Tolerance Calibration](https://github.com/SoftFever/OrcaSlicer/wiki/tolerance-calib) to determine the correct value for your printer and filament combination. + +## Elephant foot compensation + +This feature compensates for the "elephant foot" effect, which occurs when the first few layers of a print are wider than the rest due: + +- Weight of the material above them. +- Thermal expansion of the material. +- Bed temperature being too high. +- Inaccurate bed height. + + + +To mitigate this effect, OrcaSlicer allows you to specify a negative distance that will be applied to the first specified number of layers. This adjustment effectively reduces the width of the first few layers, helping to achieve a more accurate final print size. + + + +## Precise wall + +The 'Precise Wall' is a distinctive feature introduced by OrcaSlicer, aimed at improving the dimensional accuracy of prints and minimizing layer inconsistencies by slightly increasing the spacing between the outer wall and the inner wall. + +### Technical explanation + +Below is a technical explanation of how this feature works. + +First, it's important to understand some basic concepts like flow, extrusion width, and space. Slic3r has an excellent document that covers these topics in detail. You can refer to this [article](https://manual.slic3r.org/advanced/flow-math). + +Now, let's dive into the specifics. Slic3r and its forks, such as PrusaSlicer, SuperSlicer, and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping. + +- **Precise Wall Off** + +  + +- **Precise Wall On** + +  + +This approach enhances the strength of 3D-printed parts. However, it does have some side effects. For instance, when the inner-outer wall order is used, the outer wall can be pushed outside, leading to potential size inaccuracy and more layer inconsistency. + +It's important to keep in mind that this approach to handling flow is specific to Slic3r and its forks. Other slicing software, such as Cura, assumes that the extrusion path is rectangular and, therefore, does not include overlapping. Two 0.4 mm walls will result in a 0.8 mm shell thickness in Cura. + +OrcaSlicer adheres to Slic3r's approach to handling flow. To address the downsides mentioned earlier, OrcaSlicer introduced the 'Precise Wall' feature. When this feature is enabled in OrcaSlicer, the overlap between the outer wall and its adjacent inner wall is set to zero. This ensures that the overall strength of the printed part is unaffected, while the size accuracy and layer consistency are improved. + +## Precise Z Height + +This feature ensures the accurate Z height of the model after slicing, even if the model height is not a multiple of the layer height. + +For example, slicing a 20mm x 20mm x 20.1mm cube with a layer height of 0.2mm would typically result in a final height of 20.2mm due to the layer height increments. + +By enabling this parameter, the layer height of the last five layers is adjusted so that the final sliced height matches the actual object height, resulting in an accurate 20.1mm (as shown in the picture). + +- **Precise Z Height Off** + +  + +- **Precise Z Height On** + +  + +## Polyholes + +A polyhole is a technique used in FFF 3D printing to improve the accuracy of circular holes. Instead of modeling a perfect circle, the hole is represented as a polygon with a reduced number of flat sides. This simplification forces the slicer to treat each segment as a straight line, which prints more reliably. By carefully choosing the number of sides and ensuring the polygon sits on the outer boundary of the hole, you can produce openings that more closely match the intended diameter. + + + +- Original implementation: [SuperSlicer Polyholes](https://github.com/supermerill/SuperSlicer/wiki/Polyholes) +- Idea and mathematics: [Hydraraptor](https://hydraraptor.blogspot.com/2011/02/polyholes.html) diff --git a/print_settings/quality/quality_settings_seam.md b/print_settings/quality/quality_settings_seam.md index 605c1fd..4c85ce7 100644 --- a/print_settings/quality/quality_settings_seam.md +++ b/print_settings/quality/quality_settings_seam.md @@ -73,14 +73,14 @@ To minimize the visibility of potential over-extrusion at the start of an extern This is useful when printing with Outer/Inner or Inner/Outer/Inner wall print order, as in these modes, it is more likely an external perimeter is printed immediately after a de-retraction move, which would cause slight extrusion variance at the start of a seam. -## Tips: +## Tips With seams being inevitable when 3D printing using FFF, there are two distinct approaches on how to deal with them: 1. **Try and hide the seam as much as possible:** This can be done by enabling scarf seam, which works very well, especially with simple models with limited overhang regions. 2. **Try and make the seam as "clean" and "distinct" as possible:** This can be done by tuning the seam gap and enabling role-based wipe speed, wipe on loops, and wipe before the external loop. -## Troubleshooting Seam Performance: +## Troubleshooting Seam Performance The section below will focus on troubleshooting traditional seams. For scarf seam troubleshooting, refer to the guide linked above. @@ -93,7 +93,7 @@ However, due to mechanical and material tolerances, as well as the very nature o  -### Troubleshooting the Start of a Seam: +### Troubleshooting the Start of a Seam Imagine the scenario where the toolhead finishes printing a layer line on one side of the bed, retracts, travels the whole distance of the bed to de-retract, and starts printing another part. Compare this to the scenario where the toolhead finishes printing an internal perimeter and only travels a few mm to start printing an external perimeter, without even retracting or de-retracting. @@ -113,7 +113,7 @@ So this is a trade-off between print speed and print quality. From experimental In addition, larger nozzle diameters allow for more opportunity for material to leak compared to smaller diameter nozzles. A 0.2/0.25 mm nozzle will have significantly better seam performance than a 0.4, and that will have much better performance than a 0.6mm nozzle and so forth. -### Troubleshooting the End of a Seam: +### Troubleshooting the End of a Seam The end of a seam is much easier to get right, as the extrusion system is already at a pressure equilibrium while printing. It just needs to stop extruding at the right time and consistently. @@ -125,7 +125,7 @@ Furthermore, the printer mechanics have tolerances – the print head may be req Finally, the techniques of **wiping can help improve the visual continuity and consistency of a seam** (please note, these settings do not make the seam less visible, but rather make them more consistent!). Wiping on loops with a consistent speed helps tuck in the end of the seam, hiding the effects of retraction from view. -### The Role of Wall Ordering in Seam Appearance: +### The Role of Wall Ordering in Seam Appearance The order of wall printing plays a significant role in the appearance of a seam. **Starting to print the external perimeter first after a long travel move will always result in more visible artifacts compared to printing the internal perimeters first and traveling just a few mm to print the external perimeter.** diff --git a/print_settings/quality/quality_settings_wall_generator.md b/print_settings/quality/quality_settings_wall_generator.md new file mode 100644 index 0000000..f7279aa --- /dev/null +++ b/print_settings/quality/quality_settings_wall_generator.md @@ -0,0 +1,23 @@ +# Wall Generator + +WIP... + +## Classic + +WIP... + + + +## Arachne + +WIP... + + + +- Wall transitioning threshhold angle +- Wall transitioning filter +- Wall transitioning length +- Wall distribution count +- First layer minimum wall width +- Minimum feature size +- Minimum wall length diff --git a/print_settings/speed/extrusion-rate-smoothing.md b/print_settings/speed/speed_extrusion_rate_smoothing.md similarity index 95% rename from print_settings/speed/extrusion-rate-smoothing.md rename to print_settings/speed/speed_extrusion_rate_smoothing.md index 2322795..9c479ec 100644 --- a/print_settings/speed/extrusion-rate-smoothing.md +++ b/print_settings/speed/speed_extrusion_rate_smoothing.md @@ -1,191 +1,192 @@ -# Extrusion rate smoothing - -Extrusion rate smoothing (ERS), also known as pressure equalizer in Prusa Slicer, aims to **limit the rate of extrusion volume change to be below a user set threshold (the ERS value).** It aims to assist the printer firmware internal motion planners, pressure advance in achieving the desired nozzle flow and reducing deviations against the ideal flow. - -This happens by reducing the stresses put on the extrusion system as well as reducing the absolute deviations from the ideal extrusion flow caused by pressure advance smooth time. - -This feature is especially helpful when printing at high accelerations and large flow rates as the deviations are larger in these cases. - - - -## Theory - -Enabling this feature creates a small **speed "ramp"** by slowing down and ramping up print speeds prior to and after the features causing a sudden change in extrusion flow rate needs, such as overhangs and overhang perimeters. - -This works by breaking down the printed line segments into smaller "chunks", proportional to the ERS segment length, and reduces the print speed of these segments so that the **requested extrusion volumetric flow rate change is less than or equal to the ERS threshold**. - -In summary, **it takes the "edge" off rapid extrusion changes caused by acceleration/deceleration as these are now spread over a longer distance and time.** Therefore, it can reduce wall artefacts that show when the print speeds change suddenly. These artefacts are occuring because the extruder and firmware cannot perfectly adhere to the requested by the slicer flow rates, especially when the extrusion rate is changing rapidly. - -**The example below shows the artefact that is mitigated by ERS.** - - -The bulging visible above is due to the extruder not being able to respond fast enough against the required speed change when printing with high accelerations and high speeds and requested to slow down for an overhang. - -In the above scenario, the printer (Bambu Lab X1 Carbon) was requested to slow down from a 200mm/sec print speed to 40mm/sec at an acceleration of 5k/sec2. **The extruder could not keep up with the pressure change, resulting in a slight bump ahead at the point of speed change.** - -This parameter interacts with the below printer kinematic settings and physical limits: - -**1. The limits of the extruder system** - how fast can it change pressure in the nozzle - -**2. The configured pressure advance values** - that also affect pressure changes in the nozzle - -**3. The acceleration profile of the printer** - higher accelerations mean higher pressure changes - -**4. The pressure advance smooth time (klipper)** - higher smooth time means higher deviation from ideal extrusion, hence more opportunity for this feature to be useful. - -