Updated Wiki content

OrcaSlicerBot
2026-01-18 14:33:12 +00:00
parent 1d4c906999
commit 267d505ad5
10 changed files with 137 additions and 160 deletions

@@ -13,45 +13,28 @@ To access the calibration features, you can find them in the **Calibration** sec
The recommended order for calibration is as follows: The recommended order for calibration is as follows:
1. **[Temperature](temp-calib):** Start by calibrating the temperature of the nozzle and the bed. This is crucial as it affects the viscosity of the filament, which in turn influences how well it flows through the nozzle and adheres to the print bed. 1. **[Temperature](temp-calib):** Start by calibrating the temperature of the nozzle and the bed. This is crucial as it affects the viscosity of the filament, which in turn influences how well it flows through the nozzle and adheres to the print bed.
<img alt="temp-tower" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Temp-calib/temp-tower.jpg?raw=true" height="200"> <img alt="temp-tower" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Temp-calib/temp-tower.jpg?raw=true" height="200">
2. **[Max Volumetric Speed](volumetric-speed-calib):** Calibrate the maximum volumetric speed of the filament. This is important for ensuring that the printer can handle the flow rate of the filament without causing issues like under-extrusion.
2. **[Max Volumetric Speed](volumetric-speed-calib):** Calibrate the maximum volumetric speed of the filament. This is important for ensuring that the printer can handle the flow rate of the filament without causing issues like under-extrusion.
<img alt="mvf_measurement_point" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/MVF/mvf_measurement_point.jpg?raw=true" height="200"> <img alt="mvf_measurement_point" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/MVF/mvf_measurement_point.jpg?raw=true" height="200">
3. **[Pressure Advance](pressure-advance-calib):** Calibrate the pressure advance settings to improve print quality and reduce artifacts caused by pressure fluctuations in the nozzle. 3. **[Pressure Advance](pressure-advance-calib):** Calibrate the pressure advance settings to improve print quality and reduce artifacts caused by pressure fluctuations in the nozzle.
- **[Adaptive Pressure Advance](adaptive-pressure-advance-calib):** This is an advanced calibration technique that can be used to further optimize the pressure advance settings for different print speeds and geometries.
- **[Adaptive Pressure Advance](adaptive-pressure-advance-calib):** This is an advanced calibration technique that can be used to further optimize the pressure advance settings for different print speeds and geometries. <img alt="pa-tower" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-tower.jpg?raw=true" height="200">
4. **[Flow](flow-rate-calib):** Calibrate the flow rate to ensure that the correct amount of filament is being extruded. This is important for achieving accurate dimensions and good layer adhesion.
<img alt="pa-tower" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-tower.jpg?raw=true" height="200">
4. **[Flow](flow-rate-calib):** Calibrate the flow rate to ensure that the correct amount of filament is being extruded. This is important for achieving accurate dimensions and good layer adhesion.
<img alt="flowcalibration-example" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Flow-Rate/flowcalibration-example.png?raw=true" height="200"> <img alt="flowcalibration-example" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Flow-Rate/flowcalibration-example.png?raw=true" height="200">
5. **[Retraction](retraction-calib):** Calibrate the retraction settings to minimize stringing and improve print quality. Doing this after Flow and Pressure Advance calibration is recommended, as it ensures that the printer is already set up for optimal extrusion.
5. **[Retraction](retraction-calib):** Calibrate the retraction settings to minimize stringing and improve print quality. Doing this after Flow and Pressure Advance calibration is recommended, as it ensures that the printer is already set up for optimal extrusion.
<img alt="retraction_test_print" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/retraction/retraction_test_print.jpg?raw=true" height="200"> <img alt="retraction_test_print" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/retraction/retraction_test_print.jpg?raw=true" height="200">
6. **[Cornering](cornering-calib):** Calibrate the Jerk/Junction Deviation settings to improve print quality and reduce artifacts caused by sharp corners and changes in direction.
6. **[Cornering](cornering-calib):** Calibrate the Jerk/Junction Deviation settings to improve print quality and reduce artifacts caused by sharp corners and changes in direction. <img alt="jd_second_print_measure" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/JunctionDeviation/jd_second_print_measure.jpg?raw=true" height="200">
7. **[Input Shaping](input-shaping-calib):** This is an advanced calibration technique that can be used to reduce ringing and improve print quality by compensating for mechanical vibrations in the printer.
<img alt="jd_second_print_measure" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/JunctionDeviation/jd_second_print_measure.jpg?raw=true" height="200">
7. **[Input Shaping](input-shaping-calib):** This is an advanced calibration technique that can be used to reduce ringing and improve print quality by compensating for mechanical vibrations in the printer.
<img alt="IS_damp_marlin_print_measure" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" height="200"> <img alt="IS_damp_marlin_print_measure" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" height="200">
8. **[VFA](vfa-calib):** A VFA speed test is available to find resonance speeds.
8. **[VFA](vfa-calib):** A VFA speed test is available to find resonance speeds.
<img alt="vfa_test_print" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/vfa/vfa_test_print.jpg?raw=true" height="200"> <img alt="vfa_test_print" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/vfa/vfa_test_print.jpg?raw=true" height="200">
--- ---
**[Tolerance](tolerance-calib):** Calibrate the tolerances of your printer to ensure that it can accurately reproduce the dimensions of the model being printed. This is important for achieving a good fit between parts and for ensuring that the final print meets the desired specifications. **[Tolerance](tolerance-calib):** Calibrate the tolerances of your printer to ensure that it can accurately reproduce the dimensions of the model being printed. This is important for achieving a good fit between parts and for ensuring that the final print meets the desired specifications.
<img alt="OrcaToleranceTes_m6" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Tolerance/OrcaToleranceTes_m6.jpg?raw=true" height="200">
<img alt="OrcaToleranceTes_m6" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Tolerance/OrcaToleranceTes_m6.jpg?raw=true" height="200">
--- ---

@@ -31,26 +31,27 @@ Every firmware and even its version may have a different default type but usuall
### Version Table ### Version Table
| Type | Name | [Klipper](https://www.klipper3d.org/Resonance_Compensation.html#technical-details) | [RepRap](https://docs.duet3d.com/User_manual/Reference/Gcodes#m593-configure-input-shaping) | [Marlin 2](https://marlinfw.org/docs/features/ft_motion.html#more-complexity-zv-input-shaper) | Marlin Legacy | | Type | Name | [Klipper](https://www.klipper3d.org/Resonance_Compensation.html#technical-details) | [RepRap](https://docs.duet3d.com/User_manual/Reference/Gcodes#m593-configure-input-shaping) | [Marlin 2](https://marlinfw.org/docs/features/ft_motion.html#more-complexity-zv-input-shaper) |
|---|---|---|---|---|---| | --- | --- | --- | --- | --- |
| MZV | Modified Zero Vibration | >=0.9.0 | >=3.4 | - | - | | MZV | Modified Zero Vibration | >=0.9.0 | >=3.4 | - |
| ZV | Zero Vibration | >=0.9.0 | = 3.5 | >2.1.2 | - | | ZV | Zero Vibration | >=0.9.0 | = 3.5 | >2.1.2 |
| ZVD | Zero Vibration Derivative | >=0.9.0 | >=3.4 | - | - | | ZVD | Zero Vibration Derivative | >=0.9.0 | >=3.4 | - |
| ZVDD | Zero Vibration Double Derivative | - | >=3.4 | - | - | | ZVDD | Zero Vibration Double Derivative | - | >=3.4 | - |
| ZVDDD | Zero Vibration Triple Derivative | - | >=3.4 | - | - | | ZVDDD | Zero Vibration Triple Derivative | - | >=3.4 | - |
| EI | Extra Insensitive | >=0.9.0 | - | - | - | | EI | Extra Insensitive | >=0.9.0 | - | - |
| 2HUMP_EI / EI2 | Two-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - | - | | 2HUMP_EI / EI2 | Two-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - |
| 3HUMP_EI / EI3 | Three-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - | - | | 3HUMP_EI / EI3 | Three-Hump Extra Insensitive | >=0.9.0 | >=3.4 | - |
| [FT_MOTION](https://marlinfw.org/docs/features/ft_motion.html#fixed-time-motion-by-ulendo) | Fixed-Time Motion | - | - | >2.1.3 | - | | [FT_MOTION](https://marlinfw.org/docs/features/ft_motion.html#fixed-time-motion-by-ulendo) | Fixed-Time Motion | - | - | >2.1.3 |
| DAA | Damped Anti-Resonance | - | < 3.4 | - | - | | DAA | Damped Anti-Resonance | - | < 3.4 | - |
## Calibration Steps ## Calibration Steps
0. Pre-requisites: Pre-requisites:
1. Use an opaque, high-gloss filament to make the ringing more visible.
2. In OrcaSlicer, set: - Use an opaque, high-gloss filament to make the ringing more visible.
1. Acceleration high enough to trigger ringing (e.g., 20000 mm/s²). - In OrcaSlicer, set:
2. Speed high enough to trigger ringing (e.g., 200 mm/s). - Acceleration high enough to trigger ringing (e.g., 20000 mm/s²).
- Speed high enough to trigger ringing (e.g., 200 mm/s).
> [!IMPORTANT] > [!IMPORTANT]
> It's recommended to use the fastest [acceleration](speed_settings_acceleration), [speed](speed_settings_other_layers_speed) and [Jerk/Junction Deviation](speed_settings_jerk_xy) your printer can handle without losing steps. > It's recommended to use the fastest [acceleration](speed_settings_acceleration), [speed](speed_settings_other_layers_speed) and [Jerk/Junction Deviation](speed_settings_jerk_xy) your printer can handle without losing steps.
@@ -61,14 +62,14 @@ Every firmware and even its version may have a different default type but usuall
3. Select a range of frequencies to test. The Default 15hz to 110hz range is usually a good start. 3. Select a range of frequencies to test. The Default 15hz to 110hz range is usually a good start.
4. Select your damping. Usually, a value between 0.1 and 0.2 is a good start but you can change it to 0 and your printer will use the firmware default value (if available). 4. Select your damping. Usually, a value between 0.1 and 0.2 is a good start but you can change it to 0 and your printer will use the firmware default value (if available).
![IS_freq_menu](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_menu.png?raw=true) ![IS_freq_menu](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_menu.png?raw=true)
1. Measure the X and Y heights and read the frequency set at that point in OrcaSlicer. 1. **Measure the X and Y heights** and read the frequency set at that point in OrcaSlicer.
![IS_freq_marlin_print_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_marlin_print_measure.jpg?raw=true) ![IS_freq_marlin_print_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_marlin_print_measure.jpg?raw=true)
- Marlin: - Marlin:
![IS_freq_marlin_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_marlin_slicer_measure.png?raw=true) ![IS_freq_marlin_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_marlin_slicer_measure.png?raw=true)
- Klipper: - Klipper:
![IS_freq_klipper_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_klipper_slicer_measure.png?raw=true) ![IS_freq_klipper_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_freq_klipper_slicer_measure.png?raw=true)
2. If not a clear result, you can measure a X and Y min and max acceptable heights and repeat the test with that min and max value. 2. If not a clear result, you can measure a X and Y min and max acceptable heights and repeat the test with that min and max value.
5. Print the Damping test setting your X and Y frequency to the value you found in the previous step. 5. **Print the Damping test** setting your X and Y frequency to the value you found in the previous step.
![IS_damp_menu](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_menu.png?raw=true) ![IS_damp_menu](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_menu.png?raw=true)
1. Measure the X and Y heights and read the damping set at that point in OrcaSlicer. 1. Measure the X and Y heights and read the damping set at that point in OrcaSlicer.
![IS_damp_marlin_print_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true) ![IS_damp_marlin_print_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true)
@@ -76,9 +77,8 @@ Every firmware and even its version may have a different default type but usuall
![IS_damp_marlin_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_slicer_measure.png?raw=true) ![IS_damp_marlin_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_slicer_measure.png?raw=true)
- Klipper: - Klipper:
![IS_damp_klipper_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_klipper_slicer_measure.png?raw=true) ![IS_damp_klipper_slicer_measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_klipper_slicer_measure.png?raw=true)
6. **Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.** 6. **Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.**
7. Save the settings 7. **Save the settings**
- Into your printer firmware settings save the values you found (Type, frequency/cies and damp) - Into your printer firmware settings save the values you found (Type, frequency/cies and damp)
- Save it into Orca's printer profile settings in Printer settings/ Machine G-code/ Machine start G-code using the following G-code: - Save it into Orca's printer profile settings in Printer settings/ Machine G-code/ Machine start G-code using the following G-code:
- Klipper: - Klipper:

@@ -34,8 +34,8 @@ The tower method may take a bit more time to complete, but it does not rely on t
1. Select the printer, filament, and process you would like to use for the test. 1. Select the printer, filament, and process you would like to use for the test.
2. Examine each corner of the print and mark the height that yields the best overall result. 2. Examine each corner of the print and mark the height that yields the best overall result.
3. In this example a height of 8 mm was selected, so the Pressure Advance value should be calculated as `PressureAdvanceStart + (PressureAdvanceStep x measured)`; example: `0 + (0.002 x 8) = 0.016`. 3. In this example a height of 8 mm was selected, so the Pressure Advance value should be calculated as `PressureAdvanceStart + (PressureAdvanceStep x measured)`; example: `0 + (0.002 x 8) = 0.016`.
![pa-tower](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-tower.jpg?raw=true) ![pa-tower](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-tower.jpg?raw=true)
![pa-tower-measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-tower-measure.jpg?raw=true) ![pa-tower-measure](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-tower-measure.jpg?raw=true)
> [!TIP] > [!TIP]
@@ -45,32 +45,27 @@ The tower method may take a bit more time to complete, but it does not rely on t
The pattern method is adapted from [Andrew Ellis' pattern method generator](https://ellis3dp.com/Pressure_Linear_Advance_Tool/), which was itself derived from the [Marlin pattern method](https://marlinfw.org/tools/lin_advance/k-factor.html) developed by [Sineos](https://github.com/Sineos/k-factorjs). The pattern method is adapted from [Andrew Ellis' pattern method generator](https://ellis3dp.com/Pressure_Linear_Advance_Tool/), which was itself derived from the [Marlin pattern method](https://marlinfw.org/tools/lin_advance/k-factor.html) developed by [Sineos](https://github.com/Sineos/k-factorjs).
[Instructions for using and reading the pattern method](https://ellis3dp.com/Print-Tuning-Guide/articles/pressure_linear_advance/pattern_method.html) are provided in [Ellis' Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide/), with only a few OrcaSlicer differences to note.
The test configuration window allows the user to generate one or more tests in a single project. Multiple tests will be placed on the plate with extra plates added if needed. The test configuration window allows the user to generate one or more tests in a single project. Multiple tests will be placed on the plate with extra plates added if needed.
1. Single test - **Single test**:
![pa-pattern-single](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-single.png?raw=true) ![pa-pattern-single](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-single.png?raw=true)
2. Batch mode testing (multiple tests on a single plate) - **Batch mode testing**: multiple tests on a single plate.
![pa-pattern-batch](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-batch.png?raw=true) ![pa-pattern-batch](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-batch.png?raw=true)
Once a test is generated, one or more small rectangular prisms will be placed on the plate, one for each test case. The prism object serves a few purposes: Once a test is generated, one or more small rectangular prisms will be placed on the plate, one for each test case. The prism object serves a few purposes:
3. The test pattern itself is added in as custom G-Code at each layer, same as you could do by hand. The rectangular prism provides the layers in which to insert that G-Code. This also means that **you'll see the full test pattern when you move to the Preview pane:** - The test pattern itself is added in as custom G-Code at each layer, same as you could do by hand. The rectangular prism provides the layers in which to insert that G-Code. This also means that **you'll see the full test pattern when you move to the Preview pane:**
![pa-pattern-batch-plater](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-batch-plater.png?raw=true)
![pa-pattern-batch-plater](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-batch-plater.png?raw=true) - The prism acts as a handle, enabling you to move the test pattern wherever you'd like on the plate by moving the prism.
- Each test object is pre-configured with target parameters which are reflected in the object's name. Test parameters may be adjusted for each prism individually via the object list pane:
4. The prism acts as a handle, enabling you to move the test pattern wherever you'd like on the plate by moving the prism. ![pa-pattern-batch-objects](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-batch-objects.png?raw=true)
5. Each test object is pre-configured with target parameters which are reflected in the object's name. Test parameters may be adjusted for each prism individually via the object list pane:
![pa-pattern-batch-objects](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-pattern-batch-objects.png?raw=true)
Next, Ellis' generator provided the ability to adjust specific printer, filament, and print profile settings. You can make these same changes in OrcaSlicer by adjusting the settings in the Prepare pane as you would with any other print. When you initiate the calibration test, Ellis' default settings are applied. A few things to note about these settings: Next, Ellis' generator provided the ability to adjust specific printer, filament, and print profile settings. You can make these same changes in OrcaSlicer by adjusting the settings in the Prepare pane as you would with any other print. When you initiate the calibration test, Ellis' default settings are applied. A few things to note about these settings:
6. Ellis specified line widths as a percent of filament diameter. The Orca pattern method does the same to provide its suggested defaults, making use of Ellis' percentages in combination with your specified nozzle diameter. - Ellis specified line widths as a percent of filament diameter. The Orca pattern method does the same to provide its suggested defaults, making use of Ellis' percentages in combination with your specified nozzle diameter.
7. In terms of line width, the pattern only makes use of the `Default` and `First layer` widths. - In terms of line width, the pattern only makes use of the `Default` and `First layer` widths.
8. In terms of speed, the pattern only uses the `First layer speed -> First layer` and `Other layers speed -> Outer wall` speeds. - In terms of speed, the pattern only uses the `First layer speed -> First layer` and `Other layers speed -> Outer wall` speeds.
9. The infill pattern beneath the numbers cannot be changed because it's not actually an infill pattern pulled from the settings. All of the pattern G-Code is custom written, so that "infill" is, effectively, hand-drawn and not processed through the usual channels that would enable Orca to recognize it as infill. - The infill pattern beneath the numbers cannot be changed because it's not actually an infill pattern pulled from the settings. All of the pattern G-Code is custom written, so that "infill" is, effectively, hand-drawn and not processed through the usual channels that would enable Orca to recognize it as infill.
### Line method ### Line method
@@ -80,10 +75,6 @@ Steps:
1. Select the printer, filament, and process you would like to use for the test. 1. Select the printer, filament, and process you would like to use for the test.
2. Print the project and check the result. Choose the value corresponding to the most even line and update your Pressure Advance value in the filament settings. 2. Print the project and check the result. Choose the value corresponding to the most even line and update your Pressure Advance value in the filament settings.
3. In this test, a Pressure Advance value of `0.016` appears to be optimal. 3. In this test, a Pressure Advance value of `0.016` appears to be optimal.
![pa-lines](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-lines.png?raw=true)
![pa-line](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-line.gif?raw=true)
![pa-lines](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-lines.png?raw=true)
![pa-line-0-016](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-line-0-016.png?raw=true) ![pa-line-0-016](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/pa/pa-line-0-016.png?raw=true)

@@ -92,14 +92,15 @@ How to building with Visual Studio on Windows 64-bit.
- If using the command line: - If using the command line:
1. Clone the repository: 1. Clone the repository:
```shell ```shell
git clone https://github.com/OrcaSlicer/OrcaSlicer git clone https://github.com/OrcaSlicer/OrcaSlicer
``` ```
2. Run lfs to download tools on Windows: 2. Run lfs to download tools on Windows:
```shell
git lfs pull ```shell
``` git lfs pull
```
2. Open the appropriate command prompt: 2. Open the appropriate command prompt:
@@ -125,15 +126,16 @@ How to building with Visual Studio on Windows 64-bit.
build_release_vs.bat build_release_vs.bat
``` ```
![vs_cmd](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/develop/vs_cmd.png?raw=true) ![vs_cmd](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/develop/vs_cmd.png?raw=true)
> [!NOTE] > [!NOTE]
> The build process will take a long time depending on your system but even with high-end hardware it can take up to 40 minutes. > The build process will take a long time depending on your system but even with high-end hardware it can take up to 40 minutes.
> [!TIP] > [!TIP]
> If you encounter issues, you can try to uninstall ZLIB from your Vcpkg library. > If you encounter issues, you can try to uninstall ZLIB from your Vcpkg library.
3. If successful, you will find the Visual Studio solution file in: 3. If successful, you will find the Visual Studio solution file in:
```shell ```shell
build\OrcaSlicer.slnx build\OrcaSlicer.slnx
``` ```
@@ -201,15 +203,15 @@ Homebrew currently only offers the latest version of CMake (e.g. **4.X**), which
2. Install the application (drag it to `/Applications`). 2. Install the application (drag it to `/Applications`).
3. Add the following line to your shell configuration file (`~/.zshrc` or `~/.bash_profile`): 3. Add the following line to your shell configuration file (`~/.zshrc` or `~/.bash_profile`):
```sh ```sh
export PATH="/Applications/CMake.app/Contents/bin:$PATH" export PATH="/Applications/CMake.app/Contents/bin:$PATH"
``` ```
4. Restart the terminal and check the version: 4. Restart the terminal and check the version:
```sh ```sh
cmake --version cmake --version
``` ```
5. Make sure it reports a **3.31.x** version. 5. Make sure it reports a **3.31.x** version.

@@ -93,40 +93,40 @@ The following sample JSON file shows how to create a new generic filament profil
1. The first step is to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament` folder. The file name should be `Generic PLA-GF @System.json`. Please note that we leave the `compatible_printers` field empty so that it is available for all printers. 1. The first step is to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament` folder. The file name should be `Generic PLA-GF @System.json`. Please note that we leave the `compatible_printers` field empty so that it is available for all printers.
```json ```json
{ {
"type": "filament", "type": "filament",
"filament_id": "GFL99", "filament_id": "GFL99",
"setting_id": "GFSA05", "setting_id": "GFSA05",
"name": "Generic PLA-GF @System", "name": "Generic PLA-GF @System",
"from": "system", "from": "system",
"instantiation": "true", "instantiation": "true",
"inherits": "fdm_filament_pla", "inherits": "fdm_filament_pla",
"filament_type": ["PLA-GF"], "filament_type": ["PLA-GF"],
"filament_flow_ratio": [ "filament_flow_ratio": [
"0.96" "0.96"
], ],
"compatible_printers": [] "compatible_printers": []
} }
``` ```
2. Register the profile in `resources\profiles\OrcaFilamentLibrary.json`: 2. Register the profile in `resources\profiles\OrcaFilamentLibrary.json`:
```json ```json
{ {
"name": "OrcaFilamentLibrary", "name": "OrcaFilamentLibrary",
"version": "02.02.00.04", "version": "02.02.00.04",
"force_update": "0", "force_update": "0",
"description": "Orca Filament Library", "description": "Orca Filament Library",
"filament_list": [ "filament_list": [
// ... // ...
{ {
"name": "Generic PLA-GF @System", "name": "Generic PLA-GF @System",
"sub_path": "filament/Generic PLA-GF @System.json" "sub_path": "filament/Generic PLA-GF @System.json"
} }
] ]
} }
``` ```
3. The last step is to validate the newly added filament profiles see [Validate Profiles](#validate-profiles). 3. The last step is to validate the newly added filament profiles see [Validate Profiles](#validate-profiles).

@@ -96,46 +96,46 @@ The links naming uses the same format as the [Wiki Navigation described above](#
There are 3 main ways to set up these links: There are 3 main ways to set up these links:
1. Using `append_single_option_line` with a second string argument for the wiki page. 1. Using `append_single_option_line` with a second string argument for the wiki page.
```cpp ```cpp
optgroup->append_single_option_line("[OPTION_NAME]"); // Option without wiki page/redirection optgroup->append_single_option_line("[OPTION_NAME]"); // Option without wiki page/redirection
optgroup->append_single_option_line("[OPTION_NAME]", "[WIKI_LINK]"); // Option with wiki page and redirection optgroup->append_single_option_line("[OPTION_NAME]", "[WIKI_LINK]"); // Option with wiki page and redirection
``` ```
Example: Example:
```cpp ```cpp
optgroup->append_single_option_line("seam_gap","quality_settings_seam"); // Wiki page and redirection optgroup->append_single_option_line("seam_gap","quality_settings_seam"); // Wiki page and redirection
optgroup->append_single_option_line("seam_slope_type", "quality_settings_seam#scarf-joint-seam"); // Wiki page and redirection to `Scarf Joint Seam` section optgroup->append_single_option_line("seam_slope_type", "quality_settings_seam#scarf-joint-seam"); // Wiki page and redirection to `Scarf Joint Seam` section
``` ```
2. Using `append_option_line` with a third string argument for the wiki page. 2. Using `append_option_line` with a third string argument for the wiki page.
```cpp ```cpp
append_option_line([optgroup], [opt_key], "[WIKI_LINK]"); append_option_line([optgroup], [opt_key], "[WIKI_LINK]");
``` ```
Example: Example:
```cpp ```cpp
append_option_line(optgroup, "machine_max_acceleration_x", "printer_motion_ability#acceleration-limitation"); append_option_line(optgroup, "machine_max_acceleration_x", "printer_motion_ability#acceleration-limitation");
``` ```
3. Using grouped rows with `append_line` and setting the wiki target via `line.label_path`. 3. Using grouped rows with `append_line` and setting the wiki target via `line.label_path`.
```cpp ```cpp
line.label_path = "[WIKI_LINK]"; line.label_path = "[WIKI_LINK]";
``` ```
Example: Example:
```cpp ```cpp
Line line = { L("Overhang speed"), L("...") }; Line line = { L("Overhang speed"), L("...") };
line.label_path = "speed_settings_overhang_speed#slow-down-for-overhang"; line.label_path = "speed_settings_overhang_speed#slow-down-for-overhang";
line.append_option(optgroup->get_option("overhang_1_4_speed")); line.append_option(optgroup->get_option("overhang_1_4_speed"));
optgroup->append_line(line); optgroup->append_line(line);
``` ```
## Formatting and Style ## Formatting and Style

@@ -11,6 +11,8 @@ After GNUgettext is installed, it is recommended to add the path to gettext/bin
Full manual for GNUgettext can be seen here: [http://www.gnu.org/software/gettext/manual/gettext.html](http://www.gnu.org/software/gettext/manual/gettext.html) Full manual for GNUgettext can be seen here: [http://www.gnu.org/software/gettext/manual/gettext.html](http://www.gnu.org/software/gettext/manual/gettext.html)
## Scenarios for translators
### Scenario 1. How do I add a translation or fix an existing translation ### Scenario 1. How do I add a translation or fix an existing translation
1. Get PO-file 'OrcaSlicer_xx.pot' from corresponding sub-folder here: 1. Get PO-file 'OrcaSlicer_xx.pot' from corresponding sub-folder here:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

@@ -8,5 +8,4 @@ It also includes an Auto-generate points feature that automatically detects and
- **Head diameter**: Sets the diameter of the brim ear heads. - **Head diameter**: Sets the diameter of the brim ear heads.
- **Max angle**: Defines the maximum angle at which brim ears will be applied with Auto-generate points. - **Max angle**: Defines the maximum angle at which brim ears will be applied with Auto-generate points.
- **Detection Radius**: Decrease to increase Brim Ears quantity. Sets the radius for detecting areas (using [RamerDouglasPeucker algorithm](https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm)) to apply brim ears with Auto-generate points. - **Detection Radius**: Decrease to increase Brim Ears quantity. Sets the radius for detecting areas (using [RamerDouglasPeucker algorithm](https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm)) to apply brim ears with Auto-generate points.
- **Sectrion view**: Adjusts the section view height to better visualize brim ear placement. - **Section view**: Adjusts the section view height to better visualize brim ear placement.

@@ -45,8 +45,8 @@ To check which patterns support multiline infill, see the Patterns Quick Referen
![multiline-infill](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/fill/multiline-infill.png?raw=true) ![multiline-infill](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/fill/multiline-infill.png?raw=true)
> [!NOTE] > [!NOTE]
> Orca's approach is different from other slicers that simply multiply the number of lines and material usage, generating a denser infill than expected. > Orca's approach is different from other slicers that simply multiply the number of lines and material usage, generating a denser infill than expected.
><br>Orca Slicer keeps the cross-section constant for the set density. > Orca Slicer keeps the cross-section constant for the set density.
> >
>| Infill Density % | Infill Lines | Orca Density | Other Slicers Density | >| Infill Density % | Infill Lines | Orca Density | Other Slicers Density |
>|--------------------|--------------|--------------|-----------------------| >|--------------------|--------------|--------------|-----------------------|