Wiki Update part 4 (#9872)
* How to wiki * Local images + pressure-advance realocation * fill patterns WIP + Patch Until they fix this: https://github.com/orgs/community/discussions/118296 * Wiki images update8fff1ca
Updated images with new style from commit8fff1ca
(pr: #9797) * Internal Wiki Links + standardization * Update Flow Calibration image Co-Authored-By: Dowsha3d <216038220+dowsha3d@users.noreply.github.com> * Seam wiki merge * Updated Wiki Home * MD Final lines * How to index --------- Co-authored-by: Dowsha3d <216038220+dowsha3d@users.noreply.github.com>
|
@ -49,11 +49,13 @@ Optimize your prints with ultra-fast slicing, intelligent support generation, an
|
||||||
- Additional features can be found in the [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
|
- Additional features can be found in the [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
|
||||||
|
|
||||||
# Wiki
|
# Wiki
|
||||||
|
|
||||||
The wiki below aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
|
The wiki below aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
|
||||||
|
|
||||||
Please note that the wiki is a work in progress. We appreciate your patience as we continue to develop and improve it!
|
Please note that the wiki is a work in progress. We appreciate your patience as we continue to develop and improve it!
|
||||||
|
|
||||||
**[Access the wiki here](https://github.com/SoftFever/OrcaSlicer/wiki)**
|
**[Access the wiki here](https://github.com/SoftFever/OrcaSlicer/wiki)**
|
||||||
|
**[Contribute to the wiki](https://github.com/SoftFever/OrcaSlicer/wiki/How-to-wiki)**
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
|
|
||||||
|
|
|
@ -35,4 +35,4 @@ gcode:
|
||||||
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
|
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
|
||||||
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
|
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
|
||||||
SET_FAN_SPEED FAN={fan} SPEED={speed}
|
SET_FAN_SPEED FAN={fan} SPEED={speed}
|
||||||
```
|
```
|
||||||
|
|
|
@ -4,7 +4,9 @@ OrcaSlicer use `M141/M191` command to control active chamber heater.
|
||||||
|
|
||||||
If your Filament's `Activate temperature control` and your printer `Support control chamber temperature` option are checked , OrcaSlicer will insert `M191` command at the beginning of the gcode (before `Machine G-code`).
|
If your Filament's `Activate temperature control` and your printer `Support control chamber temperature` option are checked , OrcaSlicer will insert `M191` command at the beginning of the gcode (before `Machine G-code`).
|
||||||
|
|
||||||

|

|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.
|
> If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.
|
||||||
|
@ -27,7 +29,7 @@ You can use chamber temperature variables in your `Machine G-code` to control th
|
||||||
If you are using Klipper, you can define these macros to control the active chamber heater.
|
If you are using Klipper, you can define these macros to control the active chamber heater.
|
||||||
Bellow is a reference configuration for Klipper.
|
Bellow is a reference configuration for Klipper.
|
||||||
|
|
||||||
> [!Important]
|
> [!IMPORTANT]
|
||||||
> Don't forget to change the pin name/values to the actual values you are using in the configuration.
|
> Don't forget to change the pin name/values to the actual values you are using in the configuration.
|
||||||
|
|
||||||
```gcode
|
```gcode
|
||||||
|
@ -61,4 +63,4 @@ gcode:
|
||||||
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
|
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
|
||||||
M117 Chamber at target temperature
|
M117 Chamber at target temperature
|
||||||
{% endif %}
|
{% endif %}
|
||||||
```
|
```
|
||||||
|
|
26
doc/Home.md
|
@ -2,9 +2,18 @@
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
The Wiki is work in progress so bear with us while we get it up and running!
|
- [Print Settings, Tips and Tricks](#print-settings-tips-and-tricks)
|
||||||
|
- [Quality Settings](#quality-settings)
|
||||||
|
- [Speed Settings](#speed-settings)
|
||||||
|
- [Multi material](#multi-material)
|
||||||
|
- [Printer Settings](#printer-settings)
|
||||||
|
- [Printer Calibration](#printer-calibration)
|
||||||
|
- [Developer Section](#developer-section)
|
||||||
|
|
||||||
## Print Settings, Tips and Tricks (Work In Progress)
|
> [!NOTE]
|
||||||
|
> The Wiki is **Work In Progress** so bear with us while we get it up and running!
|
||||||
|
|
||||||
|
## Print Settings, Tips and Tricks
|
||||||
|
|
||||||
The below sections provide a detailed settings explanation as well as tips and tricks in setting these for optimal print results.
|
The below sections provide a detailed settings explanation as well as tips and tricks in setting these for optimal print results.
|
||||||
|
|
||||||
|
@ -14,6 +23,7 @@ The below sections provide a detailed settings explanation as well as tips and t
|
||||||
- [Line Width Settings](quality_settings_line_width)
|
- [Line Width Settings](quality_settings_line_width)
|
||||||
- [Seam Settings](quality_settings_seam)
|
- [Seam Settings](quality_settings_seam)
|
||||||
- [Precise wall](Precise-wall)
|
- [Precise wall](Precise-wall)
|
||||||
|
- [Precise Z height](precise-z-height)
|
||||||
- [STL Transformation](stl-transformation)
|
- [STL Transformation](stl-transformation)
|
||||||
|
|
||||||
### Speed Settings
|
### Speed Settings
|
||||||
|
@ -24,7 +34,7 @@ The below sections provide a detailed settings explanation as well as tips and t
|
||||||
|
|
||||||
- [Single Extruder Multimaterial](semm)
|
- [Single Extruder Multimaterial](semm)
|
||||||
|
|
||||||
### Printer Settings:
|
### Printer Settings
|
||||||
|
|
||||||
- [Air filtration/Exhaust fan handling](air-filtration)
|
- [Air filtration/Exhaust fan handling](air-filtration)
|
||||||
- [Auxiliary fan handling](Auxiliary-fan)
|
- [Auxiliary fan handling](Auxiliary-fan)
|
||||||
|
@ -32,21 +42,22 @@ The below sections provide a detailed settings explanation as well as tips and t
|
||||||
- [Adaptive Bed Mesh](adaptive-bed-mesh)
|
- [Adaptive Bed Mesh](adaptive-bed-mesh)
|
||||||
- [Using different bed types in Orca](bed-types)
|
- [Using different bed types in Orca](bed-types)
|
||||||
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
|
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
|
||||||
|
- [Fill Patterns](fill-patterns)
|
||||||
|
|
||||||
## Printer Calibration
|
## Printer Calibration
|
||||||
|
|
||||||
The [Calibration Guide](Calibration) takes you through the key calibration tests in Orca - flow rate, pressure advance, print temperature, retraction, tolerances, etc.
|
The [Calibration Guide](Calibration) outlines Orca’s key calibration tests and their suggested order of execution.
|
||||||
|
|
||||||
|
- [Temperature](temp-calib)
|
||||||
- [Flow Rate](flow-rate-calib)
|
- [Flow Rate](flow-rate-calib)
|
||||||
- [Pressure Advance](pressure-advance-calib)
|
- [Pressure Advance](pressure-advance-calib)
|
||||||
- [Temperature](temp-calib)
|
- [Adaptive Pressure Advance Guide](adaptive-pressure-advance-calib)
|
||||||
- [Retraction](retraction-calib)
|
- [Retraction](retraction-calib)
|
||||||
- [Tolerance](tolerance-calib)
|
- [Tolerance](tolerance-calib)
|
||||||
- Advanced:
|
- Advanced:
|
||||||
- [Volumetric Speed](volumetric-speed-calib)
|
- [Volumetric Speed](volumetric-speed-calib)
|
||||||
- [Adaptive Pressure Advance Guide](adaptive-pressure-advance-calib)
|
|
||||||
- [Input Shaping](input-shaping-calib)
|
|
||||||
- [Cornering (Jerk & Junction Deviation)](cornering-calib)
|
- [Cornering (Jerk & Junction Deviation)](cornering-calib)
|
||||||
|
- [Input Shaping](input-shaping-calib)
|
||||||
|
|
||||||
## Developer Section
|
## Developer Section
|
||||||
|
|
||||||
|
@ -54,3 +65,4 @@ The [Calibration Guide](Calibration) takes you through the key calibration tests
|
||||||
- [Localization and translation guide](Localization_guide)
|
- [Localization and translation guide](Localization_guide)
|
||||||
- [Developer Reference](Developers-Home)
|
- [Developer Reference](Developers-Home)
|
||||||
- [How to create profiles](How-to-create-profiles)
|
- [How to create profiles](How-to-create-profiles)
|
||||||
|
- [How to contribute to the wiki](How-to-wiki)
|
||||||
|
|
|
@ -27,7 +27,7 @@ This guide is for building your Visual Studio 2022 solution for OrcaSlicer on Wi
|
||||||
winget install --id=GitHub.GitLFS -e
|
winget install --id=GitHub.GitLFS -e
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!Tip]
|
> [!TIP]
|
||||||
> GitHub Desktop (optional): A GUI for Git and Git LFS, which already includes both tools.
|
> GitHub Desktop (optional): A GUI for Git and Git LFS, which already includes both tools.
|
||||||
> ```shell
|
> ```shell
|
||||||
> winget install --id=GitHub.GitHubDesktop -e
|
> winget install --id=GitHub.GitHubDesktop -e
|
||||||
|
@ -83,7 +83,7 @@ This guide is for building your Visual Studio 2022 solution for OrcaSlicer on Wi
|
||||||
- autoconf
|
- autoconf
|
||||||
- texinfo
|
- texinfo
|
||||||
|
|
||||||
> [!Tip]
|
> [!TIP]
|
||||||
> You can install most of them by running:
|
> You can install most of them by running:
|
||||||
> ```shell
|
> ```shell
|
||||||
> brew install gettext libtool automake autoconf texinfo
|
> brew install gettext libtool automake autoconf texinfo
|
||||||
|
@ -156,7 +156,7 @@ To build and debug directly in Xcode:
|
||||||
git clone https://github.com/SoftFever/OrcaSlicer && cd OrcaSlicer && ./DockerBuild.sh && ./DockerRun.sh
|
git clone https://github.com/SoftFever/OrcaSlicer && cd OrcaSlicer && ./DockerBuild.sh && ./DockerRun.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!Note]
|
> [!NOTE]
|
||||||
> To troubleshoot common Docker-related errors, refer to the comments in
|
> To troubleshoot common Docker-related errors, refer to the comments in
|
||||||
> ```shell
|
> ```shell
|
||||||
> DockerRun.sh
|
> DockerRun.sh
|
||||||
|
@ -190,4 +190,4 @@ All required dependencies will be installed automatically by the provided shell
|
||||||
```shell
|
```shell
|
||||||
sudo ./BuildLinux.sh -u # Install dependencies
|
sudo ./BuildLinux.sh -u # Install dependencies
|
||||||
./BuildLinux.sh -dsi # Build OrcaSlicer
|
./BuildLinux.sh -dsi # Build OrcaSlicer
|
||||||
```
|
```
|
||||||
|
|
|
@ -82,7 +82,7 @@ graph TD;
|
||||||
OrcaFilamentLibrary-->Vendor_B_filament;
|
OrcaFilamentLibrary-->Vendor_B_filament;
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!Important]
|
> [!IMPORTANT]
|
||||||
> Create new filament profiles only if you have truly specifically tuned the filament for the given printer. Otherwise, use the global library. The global library has a better chance to receive optimizations and updates from OrcaSlicer contributors, which will benefit users of all printers.
|
> Create new filament profiles only if you have truly specifically tuned the filament for the given printer. Otherwise, use the global library. The global library has a better chance to receive optimizations and updates from OrcaSlicer contributors, which will benefit users of all printers.
|
||||||
|
|
||||||
### Adding Filament Profiles to the Global Library
|
### Adding Filament Profiles to the Global Library
|
||||||
|
@ -340,7 +340,7 @@ Example:
|
||||||
You can validate your profiles using both the **OrcaSlicer profile validator** and the **Python validation script**. These tools are designed to check different aspects of the profiles, so both should be executed and pass without errors to ensure full compatibility.
|
You can validate your profiles using both the **OrcaSlicer profile validator** and the **Python validation script**. These tools are designed to check different aspects of the profiles, so both should be executed and pass without errors to ensure full compatibility.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> **✅ Recommendation**: Always run **both** the OrcaSlicer validator and the Python script to ensure all aspects of the profiles are valid.
|
> **✅ Recommendation:** Always run **both** the OrcaSlicer validator and the Python script to ensure all aspects of the profiles are valid.
|
||||||
|
|
||||||
### 1. OrcaSlicer Profile Validator
|
### 1. OrcaSlicer Profile Validator
|
||||||
|
|
||||||
|
@ -413,4 +413,4 @@ You can also enable or disable specific checks:
|
||||||
python ./orca_extra_profile_check.py --vendor="vendor_name" --check-filaments --check-materials
|
python ./orca_extra_profile_check.py --vendor="vendor_name" --check-filaments --check-materials
|
||||||
```
|
```
|
||||||
|
|
||||||
The script will output the number of errors found and exit with a non-zero status code if any issues are detected.
|
The script will output the number of errors found and exit with a non-zero status code if any issues are detected.
|
||||||
|
|
246
doc/How-to-wiki.md
Normal file
|
@ -0,0 +1,246 @@
|
||||||
|
# How to Contribute to the Wiki
|
||||||
|
|
||||||
|
This guide explains how to contribute to the Orca Slicer wiki.
|
||||||
|
|
||||||
|
Orca Slicer uses GitHub's wiki feature, which allows users and developers to create and edit documentation collaboratively.
|
||||||
|
|
||||||
|
We encourage all developers and users to contribute to the wiki by updating existing pages and adding new content. This helps keep the documentation up-to-date and useful for everyone.
|
||||||
|
|
||||||
|
When developing new features, please consider updating the wiki to reflect these changes. This ensures that users have access to the latest information and can make the most of the features.
|
||||||
|
|
||||||
|
- [Wiki Structure](#wiki-structure)
|
||||||
|
- [Home](#home)
|
||||||
|
- [Index and Navigation](#index-and-navigation)
|
||||||
|
- [File Naming and Organization](#file-naming-and-organization)
|
||||||
|
- [Formatting and Style](#formatting-and-style)
|
||||||
|
- [Markdown Formatting](#markdown-formatting)
|
||||||
|
- [Alerts and Callouts](#alerts-and-callouts)
|
||||||
|
- [Images](#images)
|
||||||
|
- [Image Naming](#image-naming)
|
||||||
|
- [Image Placement](#image-placement)
|
||||||
|
- [Linking Images](#linking-images)
|
||||||
|
- [Examples](#examples)
|
||||||
|
- [Avoid the Following](#avoid-the-following)
|
||||||
|
- [Resize Images](#resize-images)
|
||||||
|
- [Image Cropping and Highlighting](#image-cropping-and-highlighting)
|
||||||
|
- [Recommended Formats](#recommended-formats)
|
||||||
|
- [Structuring Content](#structuring-content)
|
||||||
|
- [Commands and Code Blocks](#commands-and-code-blocks)
|
||||||
|
- [External Links](#external-links)
|
||||||
|
|
||||||
|
## Wiki Structure
|
||||||
|
|
||||||
|
Each wiki page is a Markdown file located in the `doc` directory of the repository. The wiki is organized into various sections, each covering different areas of the project.
|
||||||
|
|
||||||
|
### Home
|
||||||
|
|
||||||
|
The starting point of the Orca Slicer wiki is the **Home** page. From there, you can navigate to different sections and topics related to the project.
|
||||||
|
|
||||||
|
When creating a new page or section, be sure to link it from the Home page under the appropriate category.
|
||||||
|
|
||||||
|
- **Print Settings:** Detailed explanations of print settings, tips, and tricks for optimizing print quality.
|
||||||
|
- **Printer Calibration:** Step-by-step calibration tests in Orca Slicer, including how to interpret the results.
|
||||||
|
- **Developer Section:** Information for developers and contributors on building Orca Slicer, localization, and developer resources.
|
||||||
|
|
||||||
|
#### Index and Navigation
|
||||||
|
|
||||||
|
Github Wiki uses the name of the files as identifiers for the pages. To link to a page, use the file name without the `.md` extension.
|
||||||
|
If the file is inside a subdirectory, dont include the subdirectory in the link. Instead, link directly to the file from the Home page.
|
||||||
|
|
||||||
|
For example, if you create a new page `doc/calibration/flow-rate-calib.md`, link it as follows:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
[Calibration Guide](Calibration)
|
||||||
|
```
|
||||||
|
|
||||||
|
For pages with extensive content, it's helpful to include a table of contents at the beginning. This allows users to quickly find and access different sections of the page.
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
- [Wiki Structure](#wiki-structure)
|
||||||
|
- [Home](#home)
|
||||||
|
- [Index and Navigation](#index-and-navigation)
|
||||||
|
- [File Naming and Organization](#file-naming-and-organization)
|
||||||
|
- [Formatting and Style](#formatting-and-style)
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> If you're adding a new section, follow the existing structure and ensure it doesn't already fit within an existing category. Link it from the Home page accordingly.
|
||||||
|
|
||||||
|
### File Naming and Organization
|
||||||
|
|
||||||
|
When creating new pages, follow these file naming conventions:
|
||||||
|
|
||||||
|
- Use unique file names to avoid conflicts.
|
||||||
|
- Use descriptive names that reflect the page's content.
|
||||||
|
- Use kebab-case for filenames (e.g., `How-to-wiki.md`).
|
||||||
|
- If the page belongs to a specific section, include the section name in the file name. For example, calibration pages should end with `-calib.md` (e.g., `flow-rate-calib.md`, `pressure-advance-calib.md`).
|
||||||
|
- Place files in the appropriate subdirectory when applicable (e.g., `doc/calibration/` for calibration-related content).
|
||||||
|
|
||||||
|
## Formatting and Style
|
||||||
|
|
||||||
|
Please adhere to the following style and formatting conventions when contributing to the wiki.
|
||||||
|
|
||||||
|
### Markdown Formatting
|
||||||
|
|
||||||
|
The wiki uses standard Markdown syntax for formatting and aims to maintain a consistent style across all pages. Avoid using raw HTML tags and prefer Markdown formatting instead.
|
||||||
|
|
||||||
|
Ensure your indentation is consistent, especially for code blocks and lists.
|
||||||
|
|
||||||
|
Refer to the [GitHub Markdown Guide](https://guides.github.com/features/mastering-markdown/) for more information on Markdown syntax.
|
||||||
|
|
||||||
|
### Alerts and Callouts
|
||||||
|
|
||||||
|
To add alerts or notes, use GitHub’s Markdown alert syntax:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
> [!NOTE]
|
||||||
|
> Useful information that users should know, even when skimming content.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Helpful advice for doing things better or more easily.
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Key information users need to know to achieve their goal.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Urgent info that needs immediate user attention to avoid problems.
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
> Advises about risks or negative outcomes of certain actions.
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Useful information that users should know, even when skimming content.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Helpful advice for doing things better or more easily.
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Key information users need to know to achieve their goal.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Urgent info that needs immediate user attention to avoid problems.
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
> Advises about risks or negative outcomes of certain actions.
|
||||||
|
|
||||||
|
Refer to the [GitHub Alert Guide](https://docs.github.com/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts) for more details.
|
||||||
|
|
||||||
|
## Images
|
||||||
|
|
||||||
|
Images are encouraged to enhance the clarity and quality of the wiki content. They help illustrate concepts, provide examples, and improve readability.
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
> Do not use images from third-party sources unless you have the proper permissions.
|
||||||
|
|
||||||
|
### Image Naming
|
||||||
|
|
||||||
|
- Use clear, descriptive filenames that reflect the image content.
|
||||||
|
- For section-specific images, include the section name or initials. For example, images related to Pressure Advance could be named `pa-[description].png`.
|
||||||
|
|
||||||
|
### Image Placement
|
||||||
|
|
||||||
|
- General images should be placed in the `doc/images/` directory.
|
||||||
|
- Section-specific images should be stored in their corresponding subdirectories (e.g., `doc/images/calibration/` for calibration content).
|
||||||
|
|
||||||
|
### Linking Images
|
||||||
|
|
||||||
|
Always use raw GitHub URLs for image links to ensure correct display:
|
||||||
|
|
||||||
|
Format = `![[filename]](` + Base URL + filename.extension + Raw tag + `)`
|
||||||
|
|
||||||
|
- Base URL:
|
||||||
|
```markdown
|
||||||
|
https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/
|
||||||
|
```
|
||||||
|
- Raw tag:
|
||||||
|
```markdown
|
||||||
|
?raw=true
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Examples
|
||||||
|
|
||||||
|
- For an image in `doc/images/` named `example.png`:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
- For an image in a subdirectory like `doc/images/calibration/pa-example.svg`:
|
||||||
|
```markdown
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> New or Moved Images will not appear in the preview until the Pull Request is merged. Double-check your paths.
|
||||||
|
> If you are changing an image path, ensure all links to that image are updated accordingly.
|
||||||
|
|
||||||
|
#### Avoid the Following
|
||||||
|
|
||||||
|
- Relative paths
|
||||||
|
- GitHub Assets, user content, or user-images URLs
|
||||||
|
- External image links from unreliable or temporary platforms
|
||||||
|
- Images containing personal or sensitive information
|
||||||
|
- Using images for content that can be expressed in text, such as equations or code—use Markdown syntax or Mermaid/Math formatting instead.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> When contributing section-specific images, follow the naming conventions and directory structure.
|
||||||
|
|
||||||
|
#### Resize Images
|
||||||
|
|
||||||
|
Avoid the resize of images and let the Wiki handle it automatically.
|
||||||
|
|
||||||
|
If resizing is necessary (e.g., for thumbnails), use the following syntax:
|
||||||
|
|
||||||
|
HTML Format = `<img src="` + Base URL + filename.extension + Raw tag + `" alt="` + filename + `"` + size limit.
|
||||||
|
Example:
|
||||||
|
```html
|
||||||
|
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" alt="Input_Shaping" height="200">
|
||||||
|
```
|
||||||
|
|
||||||
|
### Image Cropping and Highlighting
|
||||||
|
|
||||||
|
To ensure clarity:
|
||||||
|
|
||||||
|
- Crop images to focus on relevant areas.
|
||||||
|
- Use annotations like arrows or shapes (circles, rectangles) to highlight key parts—but avoid overloading the image.
|
||||||
|
|
||||||
|
### Recommended Formats
|
||||||
|
|
||||||
|
- **JPG:** Suitable for photographs. Avoid for images with text or fine detail due to compression artifacts.
|
||||||
|
- **PNG:** Ideal for screenshots or images with transparency. Ensure sufficient contrast for light and dark modes.
|
||||||
|
- **SVG:** Preferred when possible. SVGs support theme adaptation (light/dark mode), making them ideal for icons and diagrams.
|
||||||
|
|
||||||
|
## Structuring Content
|
||||||
|
|
||||||
|
Each wiki page should have a clear objective, which helps determine the structure of the content. After a brief introduction, use one of the following formats:
|
||||||
|
|
||||||
|
- **Step-by-Step Guide:** Organize content into sections and subsections for tasks requiring sequential actions (e.g., calibration procedures).
|
||||||
|
- **GUI-Based Reference:** If sequence isn’t crucial, structure the content following Orca Slicer’s GUI. This format works well for configurable settings or feature overviews.
|
||||||
|
- Example: Explain **Layer Height** before **Initial Layer Height**, as the former applies globally while the latter is specific to the first layer.
|
||||||
|
|
||||||
|
## Commands and Code Blocks
|
||||||
|
|
||||||
|
When adding commands or code blocks please use the [Code Block with Syntax Highlighting feature of Markdown](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
|
||||||
|
|
||||||
|
- Use triple backticks (```) to enclose code blocks.
|
||||||
|
- Specify the language for proper highlighting and readability.
|
||||||
|
|
||||||
|
````markdown
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"key": "value"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"key": "value"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## External Links
|
||||||
|
|
||||||
|
Be careful when linking to external resources. Ensure that the links are relevant and reliable.
|
||||||
|
Papers, articles, and other resources should be cited properly.
|
|
@ -22,4 +22,4 @@ This approach enhances the strength of 3D-printed parts. However, it does have s
|
||||||
|
|
||||||
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.
|
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.
|
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.
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
# Print settings
|
|
||||||
|
|
||||||
* [Seam](seam)
|
|
||||||
* [Axiliary fan](auxiliary-fan)
|
|
||||||
* [Chamber temperature](chamber-temperature)
|
|
||||||
* [Air filtration/Exhaust fan](air-filtration)
|
|
||||||
* [Single Extruder Multimaterial](semm)
|
|
||||||
* [Precise wall](Precise-wall)
|
|
31
doc/Seam.md
|
@ -1,31 +0,0 @@
|
||||||
# Seam
|
|
||||||
|
|
||||||
### Scarf joint seam
|
|
||||||
|
|
||||||
WIP...
|
|
||||||
|
|
||||||
### Seam gap
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Role-based wipe speed(auto)
|
|
||||||
|
|
||||||
WIP...
|
|
||||||
|
|
||||||
### Wipe speed
|
|
||||||
|
|
||||||
WIP...
|
|
||||||
|
|
||||||
### Wipe on loop(inward movement)
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Use outer wall speed and acceleration instead of travel speed and acceleration.
|
|
||||||
Added an option to disable this feature
|
|
||||||
|
|
||||||
### Support Cura style outer wall wipe(100% retract before wipe)
|
|
||||||
|
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
Extra length on restart
|
|
|
@ -6,7 +6,7 @@ This feature allows users to seamlessly integrate adaptive bed mesh commands wit
|
||||||
|
|
||||||
The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from Orca Slicer.
|
The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from Orca Slicer.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Settings in Orca Slicer:
|
## Settings in Orca Slicer:
|
||||||
|
|
||||||
|
@ -54,4 +54,4 @@ BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]
|
||||||
M557 X{adaptive_bed_mesh_min[0]}:{adaptive_bed_mesh_max[0]} Y{adaptive_bed_mesh_min[1]}:{adaptive_bed_mesh_max[1]} P{bed_mesh_probe_count[0]}:{bed_mesh_probe_count[1]}
|
M557 X{adaptive_bed_mesh_min[0]}:{adaptive_bed_mesh_max[0]} Y{adaptive_bed_mesh_min[1]}:{adaptive_bed_mesh_max[1]} P{bed_mesh_probe_count[0]}:{bed_mesh_probe_count[1]}
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
|
|
|
@ -1,200 +0,0 @@
|
||||||
# Adaptive Pressure Advance
|
|
||||||
|
|
||||||
This feature aims to dynamically adjust the printer’s pressure advance to better match the conditions the toolhead is facing during a print. Specifically, to more closely align to the ideal values as flow rate, acceleration, and bridges are encountered.
|
|
||||||
This wiki page aims to explain how this feature works, the prerequisites required to get the most out of it as well as how to calibrate it and set it up.
|
|
||||||
|
|
||||||
## Settings Overview
|
|
||||||
|
|
||||||
This feature introduces the below options under the filament settings:
|
|
||||||
|
|
||||||
1. **Enable adaptive pressure advance:** This is the on/off setting switch for adaptive pressure advance.
|
|
||||||
2. **Enable adaptive pressure advance for overhangs:** Enable adaptive PA for overhangs as well as when flow changes within the same feature. This is an experimental option because if the PA profile is not set accurately, it will cause uniformity issues on the external surfaces before and after overhangs. It is recommended to start with this option switched off and enable it after the core adaptive pressure advance feature is calibrated correctly.
|
|
||||||
3. **Pressure advance for bridges:** Sets the desired pressure advance value for bridges. Set it to 0 to disable this feature. Experiments have shown that a lower PA value when printing bridges helps reduce the appearance of slight under extrusion immediately after a bridge, which is caused by the pressure drop in the nozzle when printing in the air. Therefore, a lower pressure advance value helps counteract this. A good starting point is approximately half your usual PA value.
|
|
||||||
4. **Adaptive pressure advance measurements:** This field contains the calibration values used to generate the pressure advance profile for the nozzle/printer. Input sets of pressure advance (PA) values and the corresponding volumetric flow speeds and accelerations they were measured at, separated by a comma. Add one set of values per line. More information on how to calibrate the model follows in the sections below.
|
|
||||||
5. **Pressure advance:** The old field is still needed and is required to be populated with a PA value. A “good enough” median PA value should be entered here, as this will act as a fallback value when performing tool changes, printing a purge/wipe tower for multi-color prints as well as a fallback in case the model fails to identify an appropriate value (unlikely but it’s the ultimate backstop).
|
|
||||||
|
|
||||||
<img width="452" alt="Adaptive PA settings" src="https://github.com/user-attachments/assets/68c46885-54c7-4123-afa0-762d3995185f">
|
|
||||||
|
|
||||||
## Pre-Requisites
|
|
||||||
|
|
||||||
This feature has been tested with Klipper-based printers. While it may work with Marlin or Bambu lab printers, it is currently untested with them. It shouldn’t adversely affect the machine; however, the quality results from enabling it are not validated.
|
|
||||||
|
|
||||||
**Older versions of Klipper used to stutter when pressure advance was changed while the toolhead was in motion. This has been fixed with the latest Klipper firmware releases. Therefore, make sure your Klipper installation is updated to the latest version before enabling this feature, in order to avoid any adverse quality impacts.**
|
|
||||||
|
|
||||||
Klipper firmware released after July 11th, 2024 (version greater than approximately v0.12.0-267) contains the above fix and is compatible with adaptive pressure advance. If you are upgrading from an older version, make sure you update both your Klipper installation as well as reflash the printer MCU’s (main board and toolhead board if present).
|
|
||||||
|
|
||||||
## Use case (what to expect)
|
|
||||||
|
|
||||||
Following experimentation, it has been noticed that the optimal pressure advance value is less:
|
|
||||||
|
|
||||||
1. The faster you print (hence the higher the volumetric flow rate requested from the toolhead).
|
|
||||||
2. The larger the layer height (hence the higher the volumetric flow rate requested from the toolhead).
|
|
||||||
3. The higher the print acceleration is.
|
|
||||||
|
|
||||||
What this means is that we never get ideal PA values for each print feature, especially when they vary drastically in speed and acceleration. We can tune PA for a faster print speed (flow) but compromise on corner sharpness for slower speeds or tune PA for corner sharpness and deal with slight corner-perimeter separation in faster speeds. The same goes for accelerations as well as different layer heights.
|
|
||||||
|
|
||||||
This compromise usually means that we settle for tuning an "in-between" PA value between slower external features and faster internal features so we don't get gaps, but also not get too much bulging in external perimeters.
|
|
||||||
|
|
||||||
**However, what this also means is that if you are printing with a single layer height, single speed, and acceleration, there is no need to enable this feature.**
|
|
||||||
|
|
||||||
Adaptive pressure advance aims to address this limitation by implementing a completely different method of setting pressure advance. **Following a set of PA calibration tests done at different flow rates (speeds and layer heights) and accelerations, a pressure advance model is calculated by the slicer.** Then that model is used to emit the best fit PA for any arbitrary feature flow rate (speed) and acceleration used in the print process.
|
|
||||||
|
|
||||||
In addition, it means that you only need to tune this feature once and print across different layer heights with good PA performance.
|
|
||||||
|
|
||||||
Finally, if during calibration you notice that there is little to no variance between the PA tests, this feature is redundant for you. **From experiments, high flow nozzles fitted on high-speed core XY printers appear to benefit the most from this feature as they print with a larger range of flow rates and at a larger range of accelerations.**
|
|
||||||
|
|
||||||
### Expected results:
|
|
||||||
|
|
||||||
With this feature enabled there should be absolutely no bulge in the corners, just the smooth rounding caused by the square corner velocity of your printer.
|
|
||||||

|
|
||||||
In addition, seams should appear smooth with no bulging or under extrusion.
|
|
||||||

|
|
||||||
Solid infill should have no gaps, pinholes, or separation from the perimeters.
|
|
||||||

|
|
||||||
Compared to with this feature disabled, where the internal solid infill and external-internal perimeters show signs of separation and under extrusion, when PA is tuned for optimal external perimeter performance as shown below.
|
|
||||||

|
|
||||||
|
|
||||||
## How to calibrate the adaptive pressure advance model
|
|
||||||
|
|
||||||
### Defining the calibration sets
|
|
||||||
|
|
||||||
Firstly, it is important to understand your printer speed and acceleration limits in order to set meaningful boundaries for the calibrations:
|
|
||||||
|
|
||||||
1. **Upper acceleration range:** Do not attempt to calibrate adaptive PA for an acceleration that is larger than what the Klipper input shaper calibration tool recommends for your selected shaper. For example, if Klipper recommends an EI shaper with 4k maximum acceleration for your slowest axis (usually the Y axis), don’t calibrate adaptive PA beyond that value. This is because after 4k the input shaper smoothing is magnified and the perimeter separations that appear like PA issues are caused by the input shaper smoothing the shape of the corner. Basically, you’d be attempting to compensate for an input shaper artefact with PA.
|
|
||||||
2. **Upper print speed range:** The Ellis PA pattern test has been proven to be the most efficient and effective test to run to calibrate adaptive PA. It is fast and allows for a reasonably accurate and easy-to-read PA value. However, the size of the line segments is quite small, which means that for the faster print speeds and slower accelerations, the toolhead will not be able to reach the full flow rate that we are calibrating against. It is therefore generally not recommended to attempt calibration with a print speed of higher than ~200-250mm/sec and accelerations slower than 1k in the PA pattern test. If your lowest acceleration is higher than 1k, then proportionally higher maximum print speeds can be used.
|
|
||||||
|
|
||||||
**Remember:** With the calibration process, we aim to create a PA – Flow Rate – Acceleration profile for the toolhead. As we cannot directly control flow rate, we use print speed as a proxy (higher speed -> higher flow).
|
|
||||||
|
|
||||||
With the above in mind, let’s create a worked example to identify the optimal number of PA tests to calibrate the adaptive PA model.
|
|
||||||
|
|
||||||
**The below starting points are recommended for the majority of Core XY printers:**
|
|
||||||
|
|
||||||
1. **Accelerations:** 1k, 2k, 4k
|
|
||||||
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
|
|
||||||
|
|
||||||
**That means we need to run 3x4 = 12 PA tests and identify the optimal PA for them.**
|
|
||||||
|
|
||||||
Finally, if the maximum acceleration given by input shaper is materially higher than 4k, run a set of tests with the higher accelerations. For example, if input shaper allows a 6k value, run PA tests as below:
|
|
||||||
|
|
||||||
1. **Accelerations:** 1k, 2k, 4k, 6k
|
|
||||||
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
|
|
||||||
|
|
||||||
Similarly, if the maximum value recommended is 12k, run PA tests as below:
|
|
||||||
|
|
||||||
1. **Accelerations:** 1k, 2k, 4k, 8k, 12k
|
|
||||||
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
|
|
||||||
|
|
||||||
So, at worst case you will need to run 5x4 = 20 PA tests if your printer acceleration is on the upper end! In essence, you want enough granularity of data points to create a meaningful model while also not overdoing it with the number of tests. So, doubling the speed and acceleration is a good compromise to arrive at the optimal number of tests.
|
|
||||||
For this example, let’s assume that the baseline number of tests is adequate for your printer:
|
|
||||||
|
|
||||||
1. **Accelerations:** 1k, 2k, 4k
|
|
||||||
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
|
|
||||||
|
|
||||||
We, therefore, need to run 12 PA tests as below:
|
|
||||||
|
|
||||||
**Speed – Acceleration**
|
|
||||||
|
|
||||||
1. 50 – 1k
|
|
||||||
2. 100 – 1k
|
|
||||||
3. 150 – 1k
|
|
||||||
4. 200 – 1k
|
|
||||||
5. 50 – 2k
|
|
||||||
6. 100 – 2k
|
|
||||||
7. 150 – 2k
|
|
||||||
8. 200 – 2k
|
|
||||||
9. 50 – 4k
|
|
||||||
10. 100 – 4k
|
|
||||||
11. 150 – 4k
|
|
||||||
12. 200 – 4k
|
|
||||||
|
|
||||||
### Identifying the flow rates from the print speed
|
|
||||||
|
|
||||||
#### OrcaSlicer 2.2.0 and later
|
|
||||||
|
|
||||||
Test parameters needed to build adaptive PA table are printed on the test sample:
|
|
||||||
|
|
||||||
<img width="452" alt="pa batch mode" src="https://github.com/user-attachments/assets/219c53b5-d53f-4360-963e-0985d9257bd7">
|
|
||||||
|
|
||||||
Test sample above was done with acceleration 12000 mm/s² and flow rate 27.13 mm³/s
|
|
||||||
|
|
||||||
#### OrcaSlicer 2.1.0 and older.
|
|
||||||
|
|
||||||
As mentioned earlier, **the print speed is used as a proxy to vary the extrusion flow rate**. Once your PA test is set up, change the gcode preview to “flow” and move the horizontal slider over one of the herringbone patterns and take note of the flow rate for different speeds.
|
|
||||||

|
|
||||||
|
|
||||||
### Running the tests
|
|
||||||
|
|
||||||
#### General tips
|
|
||||||
|
|
||||||
It is recommended that the PA step is set to a small value, to allow you to make meaningful distinctions between the different tests – **therefore a PA step value of 0.001 is recommended. **
|
|
||||||
|
|
||||||
**Set the end PA to a value high enough to start showing perimeter separation for the lowest flow (print speed) and acceleration test.** For example, for a Voron 350 using Revo HF, the maximum value was set to 0.05 as that was sufficient to show perimeter separation even at the slowest flow rates and accelerations.
|
|
||||||
|
|
||||||
**If the test is too big to fit on the build plate, increase your starting PA value or the PA step value accordingly until the test can fit.** If the lowest value becomes too high and there is no ideal PA present in the test, focus on increasing the PA step value to reduce the number of herringbones printed (hence the size of the print).
|
|
||||||
|
|
||||||
<img width="402" alt="PA calibration parameters" src="https://github.com/user-attachments/assets/b411dc30-5556-4e7c-8c40-5279d3074eae">
|
|
||||||
|
|
||||||
#### OrcaSlicer 2.3.0 and newer
|
|
||||||
|
|
||||||
PA pattern calibration configuration window have been changed to simplify test setup. Now all is needed is to fill list of accelerations and speeds into relevant fields of the calibration window:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Test patterns generated for each acceleration-speed pair and all parameters are set accordingly. No additional actions needed from user side. Just slice and print all plates generated.
|
|
||||||
|
|
||||||
Refer to [Calibration Guide](./Calibration) for more details on batch mode calibration.
|
|
||||||
|
|
||||||
#### OrcaSlicer 2.2.0 and older
|
|
||||||
|
|
||||||
Setup your PA test as usual from the calibration menu in Orca slicer. Once setup, your PA test should look like the below:
|
|
||||||
|
|
||||||
<img width="437" alt="PA calibration test 1" src="https://github.com/user-attachments/assets/1e6159fe-c3c5-4480-95a1-4383f1fae422">
|
|
||||||
<img width="437" alt="Pa calibration test 2" src="https://github.com/user-attachments/assets/c360bb18-a97a-4f37-b5a3-bb0c67cac2b6">
|
|
||||||
|
|
||||||
Now input your identified print speeds and accelerations in the fields above and run the PA tests.
|
|
||||||
|
|
||||||
**IMPORTANT:** Make sure your acceleration values are all the same in all text boxes. Same for the print speed values and Jerk (XY) values. Make sure your Jerk value is set to the external perimeter jerk used in your print profiles.
|
|
||||||
|
|
||||||
#### Test results processing
|
|
||||||
|
|
||||||
Now run the tests and note the optimal PA value, the flow, and the acceleration. You should produce a table like this:
|
|
||||||
|
|
||||||
<img width="452" alt="calibration table" src="https://github.com/user-attachments/assets/9451e8e4-352f-4cfc-b835-dffa4420d580">
|
|
||||||
|
|
||||||
Concatenate the PA value, the flow value, and the acceleration value into the final comma-separated sets to create the values entered in the model as shown above.
|
|
||||||
|
|
||||||
**You’re now done! The PA profile is created and calibrated!**
|
|
||||||
|
|
||||||
Remember to paste the values in the adaptive pressure advance measurements text box as shown below, and save your filament profile.
|
|
||||||
|
|
||||||
<img width="452" alt="pa profile" src="https://github.com/user-attachments/assets/e6e61d1b-e422-4a6a-88ff-f55e10f79900">
|
|
||||||
|
|
||||||
### Tips
|
|
||||||
|
|
||||||
#### Model input:
|
|
||||||
|
|
||||||
The adaptive PA model built into the slicer is flexible enough to allow for as many or as few increments of flow and acceleration as you want. Ideally, you want at a minimum 3x data points for acceleration and flow in order to create a meaningful model.
|
|
||||||
|
|
||||||
However, if you don’t want to calibrate for flow, just run the acceleration tests and leave flow the same for each test (in which case you’ll input only 3 rows in the model text box). In this case, flow will be ignored when the model is used.
|
|
||||||
|
|
||||||
Similarly for acceleration – in the above example you’ll input only 4 rows in the model text box, in which case acceleration will be ignored when the model is used.
|
|
||||||
|
|
||||||
**However, make sure a triplet of values is always provided – PA value, Flow, Acceleration.**
|
|
||||||
|
|
||||||
#### Identifying the right PA:
|
|
||||||
|
|
||||||
Higher acceleration and higher flow rate PA tests are easier to identify the optimal PA as the range of “good” values is much narrower. It’s evident where the PA is too large, as gaps start to appear in the corner and where PA is too low, as the corner starts bulging.
|
|
||||||
|
|
||||||
However, the lower the flow rate and accelerations are, the range of good values is much wider. Having examined the PA tests even under a microscope, what is evident, is that if you can’t distinguish a value as being evidently better than another (i.e. sharper corner with no gaps) with the naked eye, then both values are correct. In which case, if you can’t find any meaningful difference, simply use the optimal values from the higher flow rates.
|
|
||||||
|
|
||||||
- **Too high PA**
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- **Too low PA**
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
- **Optimal PA**
|
|
||||||
|
|
||||||

|
|
|
@ -36,4 +36,4 @@ gcode:
|
||||||
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
|
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
|
||||||
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
|
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
|
||||||
SET_FAN_SPEED FAN={fan} SPEED={speed}
|
SET_FAN_SPEED FAN={fan} SPEED={speed}
|
||||||
```
|
```
|
||||||
|
|
|
@ -25,4 +25,4 @@ available bed types are:
|
||||||
"Engineering Plate"
|
"Engineering Plate"
|
||||||
"High Temp Plate"
|
"High Temp Plate"
|
||||||
"Textured PEI Plate"
|
"Textured PEI Plate"
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
This page deals with the explanation for 3 classes in the code.
|
This page deals with the explanation for 3 classes in the code.
|
||||||
|
|
||||||
## [`Preset`](../../src/libslic3r/Preset.hpp)
|
## [`Preset`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
|
||||||
|
|
||||||
As the name might suggest this class deals with presets for various things. It defines an enum `Type` which basically tells you what kind of data the present contains. Below are a few explained and there corresponding UI elements
|
As the name might suggest this class deals with presets for various things. It defines an enum `Type` which basically tells you what kind of data the present contains. Below are a few explained and there corresponding UI elements
|
||||||
|
|
||||||
> [!Warning]
|
> [!WARNING]
|
||||||
> There is a lot of outdated and legacy code in the code base.
|
> There is a lot of outdated and legacy code in the code base.
|
||||||
|
|
||||||
- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.
|
- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.
|
||||||
|
|
||||||
<img src="../images/process-preset.png" alt="Example Image" width="320">
|

|
||||||
|
|
||||||
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
|
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
|
||||||
|
|
||||||
<img src="../images/filament-preset.png" alt="Example Image" width="320">
|

|
||||||
|
|
||||||
- `TYPE_PRINTER`: Preset for printers.
|
- `TYPE_PRINTER`: Preset for printers.
|
||||||
|
|
||||||
<img src="../images/printer-preset.png" alt="Example Image" width="320">
|

|
||||||
|
|
||||||
There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.
|
There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.
|
||||||
|
|
||||||
## [`PresetBundle`](../../src/libslic3r/PresetBundle.hpp)
|
## [`PresetBundle`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/PresetBundle.hpp)
|
||||||
|
|
||||||
This is a bundle containing a few types of `PresetCollection`. One bundle has presets for some printers, filaments and some processes (TYPE_PRINT).
|
This is a bundle containing a few types of `PresetCollection`. One bundle has presets for some printers, filaments and some processes (TYPE_PRINT).
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ each one of these contains a collection of processes, filaments and printers res
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.
|
> Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.
|
||||||
|
|
||||||
## [`PresetCollection`](../../src/libslic3r/Preset.hpp)
|
## [`PresetCollection`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
|
||||||
|
|
||||||
`PrinterPresetCollection` is a class derived from `PresetCollection`.
|
`PrinterPresetCollection` is a class derived from `PresetCollection`.
|
||||||
|
|
||||||
|
|
|
@ -10,13 +10,13 @@ Refers to the entire application. The whole view, file loading, project saving a
|
||||||
|
|
||||||
This is relating the the sidebar in the application window
|
This is relating the the sidebar in the application window
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## [`ComboBox`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Widgets/ComboBox.hpp)
|
## [`ComboBox`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Widgets/ComboBox.hpp)
|
||||||
|
|
||||||
The drop down menus where you can see and select presets
|
The drop down menus where you can see and select presets
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## [`Tab`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Tab.hpp)
|
## [`Tab`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Tab.hpp)
|
||||||
|
|
||||||
|
|
|
@ -2,4 +2,43 @@
|
||||||
|
|
||||||
The Slicing logic is not the easiest to locate in the code base. Below is a flow diagram of function calls that are made after clicking the `Slice Plate` button in the UI. Most of the processing happens in different threads. Note the calls after `BackgroundSlicingProcess::start()`, but this is how you can find the slicing logic.
|
The Slicing logic is not the easiest to locate in the code base. Below is a flow diagram of function calls that are made after clicking the `Slice Plate` button in the UI. Most of the processing happens in different threads. Note the calls after `BackgroundSlicingProcess::start()`, but this is how you can find the slicing logic.
|
||||||
|
|
||||||
<img src="../images/slicing_call_heirarchy.svg" alt="Example Image" width="320">
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
A["Slice plate"] --> B["void Plater::priv::on_action_slice_plate(SimpleEvent&)"]
|
||||||
|
B --> C["void Plater::reslice()"]
|
||||||
|
C --> D["bool Plater::priv::restart_background_process(unsigned int state)"]
|
||||||
|
D --> E["bool BackgroundSlicingProcess::start()"]
|
||||||
|
E --> F["void BackgroundSlicingProcess::thread_proc_safe_seh_throw()"]
|
||||||
|
F --> G["unsigned long BackgroundSlicingProcess::thread_proc_safe_seh()"]
|
||||||
|
G --> H["void BackgroundSlicingProcess::thread_proc_safe()"]
|
||||||
|
H --> I["void BackgroundSlicingProcess::thread_proc()"]
|
||||||
|
I --> J["void BackgroundSlicingProcess::call_process_seh_throw(std::exception_ptr &ex)"]
|
||||||
|
J --> K["unsigned long BackgroundSlicingProcess::call_process_seh(std::exception_ptr &ex)"]
|
||||||
|
K --> L["void BackgroundSlicingProcess::call_process(std::exception_ptr &ex)"]
|
||||||
|
L --> M["void BackgroundSlicingProcess::process_fff()"]
|
||||||
|
M --> N["void Print::process(long long *time_cost_with_cache, bool use_cache)"]
|
||||||
|
N --> O["void PrintObject::make_perimeters()"]
|
||||||
|
O --> P["void PrintObject::slice()"]
|
||||||
|
|
||||||
|
%% Labels for libraries
|
||||||
|
subgraph G1 [libSlic3r_gui]
|
||||||
|
B
|
||||||
|
C
|
||||||
|
D
|
||||||
|
E
|
||||||
|
F
|
||||||
|
G
|
||||||
|
H
|
||||||
|
I
|
||||||
|
J
|
||||||
|
K
|
||||||
|
L
|
||||||
|
M
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph G2 [libSlic3r]
|
||||||
|
N
|
||||||
|
O
|
||||||
|
P
|
||||||
|
end
|
||||||
|
```
|
91
doc/fill-patterns.md
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
# 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
|
BIN
doc/images/Adaptative-Bed-Mesh/ABM-Machine-G-code.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
doc/images/Adaptative-Bed-Mesh/ABM-PrinterConfig.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
doc/images/Chamber/Chamber-Temperature-Control-Material.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
doc/images/Chamber/Chamber-Temperature-Control-Printer.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 4.4 MiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
BIN
doc/images/Flow-Rate/flowrate-0-5.jpg
Normal file
After Width: | Height: | Size: 382 KiB |
BIN
doc/images/Flow-Rate/flowrate-6.jpg
Normal file
After Width: | Height: | Size: 738 KiB |
BIN
doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
doc/images/Flow-Rate/flowrate-pass1.jpg
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
doc/images/Flow-Rate/flowrate-pass2.jpg
Normal file
After Width: | Height: | Size: 550 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 10 KiB |
BIN
doc/images/PreciseZ/PreciseZOff.png
Normal file
After Width: | Height: | Size: 266 KiB |
BIN
doc/images/PreciseZ/PreciseZOn.png
Normal file
After Width: | Height: | Size: 273 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 161 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
BIN
doc/images/Temp-calib/temp-tower.jpg
Normal file
After Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 224 KiB |
BIN
doc/images/Temp-calib/temp-tower_test_menu.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 2.8 KiB |
BIN
doc/images/fill/infill-iso-2d-lattice.png
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
doc/images/fill/infill-iso-3d-honeycomb.png
Normal file
After Width: | Height: | Size: 602 KiB |
BIN
doc/images/fill/infill-iso-adaptative-cubic.png
Normal file
After Width: | Height: | Size: 708 KiB |
BIN
doc/images/fill/infill-iso-aligned-rectilinear.png
Normal file
After Width: | Height: | Size: 426 KiB |
BIN
doc/images/fill/infill-iso-archimedean-chords.png
Normal file
After Width: | Height: | Size: 864 KiB |
BIN
doc/images/fill/infill-iso-concentric.png
Normal file
After Width: | Height: | Size: 537 KiB |
BIN
doc/images/fill/infill-iso-cross-hatch.png
Normal file
After Width: | Height: | Size: 597 KiB |
BIN
doc/images/fill/infill-iso-cubic.png
Normal file
After Width: | Height: | Size: 795 KiB |
BIN
doc/images/fill/infill-iso-grid.png
Normal file
After Width: | Height: | Size: 248 KiB |
BIN
doc/images/fill/infill-iso-gyroid.png
Normal file
After Width: | Height: | Size: 958 KiB |
BIN
doc/images/fill/infill-iso-hilbert-curve.png
Normal file
After Width: | Height: | Size: 322 KiB |
BIN
doc/images/fill/infill-iso-honeycomb.png
Normal file
After Width: | Height: | Size: 504 KiB |
BIN
doc/images/fill/infill-iso-lightning.png
Normal file
After Width: | Height: | Size: 355 KiB |
BIN
doc/images/fill/infill-iso-line.png
Normal file
After Width: | Height: | Size: 788 KiB |
BIN
doc/images/fill/infill-iso-octagram-spiral.png
Normal file
After Width: | Height: | Size: 490 KiB |
BIN
doc/images/fill/infill-iso-quarter-cubic.png
Normal file
After Width: | Height: | Size: 434 KiB |
BIN
doc/images/fill/infill-iso-rectilinear.png
Normal file
After Width: | Height: | Size: 365 KiB |
BIN
doc/images/fill/infill-iso-support-cubic.png
Normal file
After Width: | Height: | Size: 545 KiB |
BIN
doc/images/fill/infill-iso-tri-hexagon.png
Normal file
After Width: | Height: | Size: 584 KiB |
BIN
doc/images/fill/infill-iso-triangles.png
Normal file
After Width: | Height: | Size: 566 KiB |
BIN
doc/images/fill/infill-top-2d-lacttice.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
doc/images/fill/infill-top-3d-honeycomb.png
Normal file
After Width: | Height: | Size: 266 KiB |
BIN
doc/images/fill/infill-top-adaptative-cubic.png
Normal file
After Width: | Height: | Size: 496 KiB |
BIN
doc/images/fill/infill-top-aligned-rectilinear.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
doc/images/fill/infill-top-archimedean-chords.png
Normal file
After Width: | Height: | Size: 340 KiB |
BIN
doc/images/fill/infill-top-concentric.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
doc/images/fill/infill-top-cross-hatch.png
Normal file
After Width: | Height: | Size: 446 KiB |
BIN
doc/images/fill/infill-top-cubic.png
Normal file
After Width: | Height: | Size: 591 KiB |
BIN
doc/images/fill/infill-top-grid.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
doc/images/fill/infill-top-gyroid.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
doc/images/fill/infill-top-hilbert-curve.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
doc/images/fill/infill-top-honeycomb.png
Normal file
After Width: | Height: | Size: 316 KiB |
BIN
doc/images/fill/infill-top-lightning.png
Normal file
After Width: | Height: | Size: 229 KiB |
BIN
doc/images/fill/infill-top-line.png
Normal file
After Width: | Height: | Size: 292 KiB |
BIN
doc/images/fill/infill-top-octagram-spiral.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
doc/images/fill/infill-top-quartered-cubic.png
Normal file
After Width: | Height: | Size: 308 KiB |
BIN
doc/images/fill/infill-top-rectilinear.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
doc/images/fill/infill-top-support-cubic.png
Normal file
After Width: | Height: | Size: 495 KiB |
BIN
doc/images/fill/infill-top-tri-hexagon.png
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
doc/images/fill/infill-top-triangles.png
Normal file
After Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 56 KiB |
BIN
doc/images/pa/apa-expected-results.jpg
Normal file
After Width: | Height: | Size: 658 KiB |
BIN
doc/images/pa/apa-expected-seam.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
doc/images/pa/apa-expected-solid-infill.jpg
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
doc/images/pa/apa-identify-optimal.jpg
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
doc/images/pa/apa-identify-too-high.jpg
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
doc/images/pa/apa-identify-too-low.jpg
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
doc/images/pa/apa-material-config.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
doc/images/pa/apa-profile.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
doc/images/pa/apa-setup-result-acceleration-jerk.png
Normal file
After Width: | Height: | Size: 388 KiB |
BIN
doc/images/pa/apa-setup-result-speed.png
Normal file
After Width: | Height: | Size: 161 KiB |
BIN
doc/images/pa/apa-test.png
Normal file
After Width: | Height: | Size: 429 KiB |