* Add editor and markdown configuration files
Introduces .editorconfig, .markdownlint.json, and VS Code settings for consistent formatting and markdown linting. These files help standardize code style and markdown indentation across the project.
* Full reformat
@@ -30,23 +30,23 @@ OrcaSlicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki
 Settings related to the 3D printer hardware and its configuration.
- [ Adaptive bed mesh](printer_basic_information_adaptive_bed_mesh)
- [ Adaptive bed mesh](printer_basic_information_adaptive_bed_mesh)
- [ Flow Ratio and Pressure Advance](material_flow_ratio_and_pressure_advance)
- [ Material temperatures](material_temperatures)
- [ Bed temperature](material_temperatures#bed)
- [ Flow Ratio and Pressure Advance](material_flow_ratio_and_pressure_advance)
- [ Material temperatures](material_temperatures)
- [ Bed temperature](material_temperatures#bed)
- [ Material Cooling](material_cooling)
- [ Top and Bottom Shells](strength_settings_top_bottom_shells)
- [ Fill Patterns](strength_settings_patterns)
- [ Template Metalanguage for infill rotation](strength_settings_infill_rotation_template_metalanguage)
- [ Fill Patterns](strength_settings_patterns)
- [ Template Metalanguage for infill rotation](strength_settings_infill_rotation_template_metalanguage)
- [Junction Deviation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-) if `Maximum Junction Deviation` in Printer settings/Motion ability/Jerk limitations is bigger than `0`.
- [Classic Jerk](https://marlinfw.org/docs/configuration/configuration.html#jerk-) if `Maximum Junction Deviation` is set to `0`.
- [Junction Deviation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-) if `Maximum Junction Deviation` in Printer settings/Motion ability/Jerk limitations is bigger than `0`.
- [Classic Jerk](https://marlinfw.org/docs/configuration/configuration.html#jerk-) if `Maximum Junction Deviation` is set to `0`.
- [OrcaSlicer \<= 2.3.0 Monotonic Line + 2-Pass Calibration](#orcaslicer--230-monotonic-line--2-pass-calibration)
- [Credits](#credits)
> [!WARNING]
@@ -21,8 +21,8 @@ A properly calibrated flow ratio ensures consistent layer adhesion and accurate
## Calibration Types
- **YOLO:** A simplified method that adjusts the flow rate in a single pass using the formula `OldFlowRatio ± modifier`.
- **Recommended:** calibration range `[-0.05, +0.05]`, flow rate step `0.01`.
- **Perfectionist:** calibration range `[-0.04, +0.035]`, flow rate step `0.005`.
- **Recommended:** calibration range `[-0.05, +0.05]`, flow rate step `0.01`.
- **Perfectionist:** calibration range `[-0.04, +0.035]`, flow rate step `0.005`.
- **2-Pass Calibration:** the legacy method, using two passes to determine the optimal flow rate with the formula `OldFlowRatio * (100 + modifier) / 100`.
@@ -140,9 +158,11 @@ How to building with Visual Studio on Windows 64-bit.
> If the "Fix model" option is missing from an object's context menu, it may indicate that your build did not properly include the Windows SDK. To quickly resolve this, follow these steps:
>
> 1. Locate the `winrt` folder in your Windows SDK installation. For example:
1. For convenience create a list of files with this macro `L(s)`. We have [localization/i18n/list.txt](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/localization/i18n/list.txt).
2. Create template file(*.POT) with GNUgettext command:
@@ -8,4 +8,4 @@ These settings allow you to define custom G-code commands that will be executed
## Filament end G-code
These settings allow you to define custom G-code commands that will be executed at the start and end of a print using a specific material. This can be useful for priming the nozzle, purging old filament, or performing any other necessary actions before or after printing.
These settings allow you to define custom G-code commands that will be executed at the start and end of a print using a specific material. This can be useful for priming the nozzle, purging old filament, or performing any other necessary actions before or after printing.
The transformation uses [Linear Deflection and Angular Deflection](https://dev.opencascade.org/doc/overview/html/occt_user_guides__mesh.html) parameters to control the mesh quality.
A finer mesh will result in a more accurate representation of the original surface, but it will also increase the file size and processing time.
@@ -26,20 +26,20 @@ Controls how the brim is generated on a model's outer and/or inner sides.
The Auto brim feature computes an optimal brim width by evaluating material properties, part geometry, printing speed, and thermal characteristics.
- Model geometry
- Uses the model's bounding box to determine dimensions.
- Height-to-area ratio: `height/(width²*length)`.
- Uses the model's bounding box to determine dimensions.
- Height-to-area ratio: `height/(width²*length)`.
- Printing speed
- Higher maximum printing speeds generally increase the recommended brim width.
- Higher maximum printing speeds generally increase the recommended brim width.
- Thermal length
- Defined as the diagonal of the model's base.
- Reference thermal lengths (material-specific):
- ABS, PA-CF, PET-CF: 100
- PC: 40
- TPU: 1000
- Defined as the diagonal of the model's base.
- Reference thermal lengths (material-specific):
- ABS, PA-CF, PET-CF: 100
- PC: 40
- TPU: 1000
- Material adhesion coefficient
- Default: 1
- PETG/PCTG: 2
- TPU: 0.5
- Default: 1
- PETG/PCTG: 2
- TPU: 0.5
The computed brim width is capped at 20 mm and at 1.5× the thermal length. If the final width is under 5 mm and also less than 1.5× the thermal length, no brim will be generated (width = 0).
@@ -16,7 +16,7 @@ A skirt is one or more additional perimeters printed around the model outline on
## Loops
Number of skirt loops to print.
Number of skirt loops to print.
Usually 2 loops are recommended but increasing loops improve priming and give a larger buffer between the nozzle and the part, at the cost of extra filament and time.
@@ -36,7 +36,7 @@ The pattern that will be used when ironing. Usually, the best pattern is the one
## Flow
The amount of material to extrude during ironing.
This % is a percentage of the normal flow rate. A lower value will result in a smoother finish but may not cover the surface completely. A higher value may cover the surface better but can lead to over extrusion or rougher finish.
This % is a percentage of the normal flow rate. A lower value will result in a smoother finish but may not cover the surface completely. A higher value may cover the surface better but can lead to over extrusion or rougher finish.
A lower layer height may require higher flow due to less volumetric extrusion per distance.
@@ -55,7 +55,7 @@ If this value is set to 0, the ironing toolpath will start directly at the perim
## Angle Offset
The angle of ironing lines offset relative to the top surface solid infill direction.
The angle of ironing lines offset relative to the top surface solid infill direction.
Commonly used ironing angle offsets are 0°, 45°, and 90° each producing a [different surface finish](https://github.com/OrcaSlicer/OrcaSlicer/issues/10834#issuecomment-3322628589) which will depend on your printer nozzle.
@@ -37,12 +37,12 @@ Arc fitting mainly changes how the toolpath is *encoded* in G-code. It can be be
**Advantages**
- Smaller G-code files:
- Faster upload.
- Less storage usage.
- Reduces the amount of read/writes done in memory and makes an SD card consume less of its already limited TBW.
- Faster upload.
- Less storage usage.
- Reduces the amount of read/writes done in memory and makes an SD card consume less of its already limited TBW.
- Fewer moves for the firmware planner to process:
- Help on slower controllers when doing simultaneous task like save the status for [Power Loss Recovery](printer_basic_information_advanced#power-loss-recovery).
- Help limited connections.
- Help on slower controllers when doing simultaneous task like save the status for [Power Loss Recovery](printer_basic_information_advanced#power-loss-recovery).
- Help limited connections.
- Smoother curves when using a low poly model.
**Disadvantages / risks**
@@ -98,10 +98,13 @@ To mitigate this effect, OrcaSlicer allows you to specify a negative distance th
The compensation works as follows:
When the `current_layer` is <= `input_compensation_layers`
> This feature will look like the part have a smaller footprint on the build plate in the preview, but the final print (if calibrated correctly) will have the correct dimensions after slicing.
- Marlin 2: [Classic Jerk](https://marlinfw.org/docs/configuration/configuration.html#jerk-) (deprecated in favor of [Junction Deviation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-)) but can still be used.
- Marlin 2: [Classic Jerk](https://marlinfw.org/docs/configuration/configuration.html#jerk-) (deprecated in favor of [Junction Deviation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-)) but can still be used.
@@ -27,9 +27,9 @@ Infill is the internal structure of a 3D print, providing strength and support.
Infill density determines the amount of material used to fill the interior of a 3D print. It is usually expressed as a percentage, with 100% being completely solid.
- Higher density increases
- Strength
- Material usage
- Print time.
- Strength
- Material usage
- Print time.
> [!NOTE]
> Density usually is calculated as a % of the total infill volume, not the total print volume.
@@ -178,11 +178,11 @@ OrcaSlicer tries to connect two close infill lines to a short perimeter segment.
Line pattern of internal solid infill. If the [detect narrow internal solid infill](strength_settings_advanced#detect-narrow-internal-solid-infill) be enabled, the [concentric pattern](strength_settings_patterns#concentric) will be used for the small area.
## Extra Solid Infill
Insert extra solid infills at specific layers to add strength at critical points in your print. This feature allows you to strategically reinforce your part without changing the overall sparse infill density.
@@ -192,11 +192,13 @@ Insert extra solid infills at specific layers to add strength at critical points
The pattern supports two formats:
### Interval Pattern
- **Simple interval**: `N` - Insert 1 solid layer every N layers, equal to `N#1`
- **Multiple layers**: `N#K` - Insert K consecutive solid layers every N layers
- **Optional K**: `N#` - Shorthand for `N#1`
Examples:
```
5 or 5#1 # Insert 1 solid layer every 5 layers
5# # Same as 5#1
@@ -204,6 +206,7 @@ Examples:
```
### Explicit Layer List
Specify exact layer numbers (1-based) using comma-separated values. Each entry may be a single layer `N` or a range `N#K` to insert K consecutive solid layers starting at layer N:
@@ -131,15 +131,15 @@ For more complex instructions, autoformatting is used to make the template easie
They include a simple definition of the angle for each layer. Note that the initial setting of this angle is also affected by the value in the infill angle field.
-`0`, `15`, `45.5`, `256.5605`... - just fill at the existing angle. The initial direction starts at the X-axis, and the acceptable range of values is from 0 to 360
-`0%`, `10%`, `25%`, `100%`... - infill angle determined from relative terms from a full turn of 360 degree rotation. Rotate by 0, 36, 90, and 0 degrees.
-`30, 60, 90, 120, 150, 0` - a more complex command defines a turn every layer at 30 degrees. At the end of the template line, the next instruction is read first, and this process continues until the entire height of the model is filled.
@@ -74,26 +74,26 @@ Layer time variability refers to the differences in time it takes to print each
> [!TIP]
> You can see how this analysis was made in [infill-analysis](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/print_settings/strength/infill-analysis) folder:
> - [Infill calculator Project](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/print_settings/strength/infill-analysis/infill_calculator.3mf?raw=true) to generate the gcode files and images.
> - [infill_desc_calculator.xlsx](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/print_settings/strength/infill-analysis/infill_desc_calculator.xlsx?raw=true) used to calculate the values above.
> - Time, and material usage where simulated with the same [Klipper Estimator](https://github.com/Annex-Engineering/klipper_estimator) values to maintain consistency.
> - [Infill calculator Project](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/print_settings/strength/infill-analysis/infill_calculator.3mf?raw=true) to generate the gcode files and images.
> - [infill_desc_calculator.xlsx](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/print_settings/strength/infill-analysis/infill_desc_calculator.xlsx?raw=true) used to calculate the values above.
> - Time, and material usage where simulated with the same [Klipper Estimator](https://github.com/Annex-Engineering/klipper_estimator) values to maintain consistency.
## Monotonic
[Rectilinear](#rectilinear) in a uniform direction for a smoother visual surface.
- **Strength**
- **Horizontal (X-Y):** Normal 
- **Vertical (Z):** Normal 
- **Horizontal (X-Y):** Normal 
- **Vertical (Z):** Normal 
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal 
@@ -102,17 +102,17 @@ Layer time variability refers to the differences in time it takes to print each
[Monotonic](#monotonic) but avoids overlapping with the perimeter, reducing excess material at joints. May introduce visible seams and increase print time.
- **Strength**
- **Horizontal (X-Y):** Normal 
- **Vertical (Z):** Normal 
- **Horizontal (X-Y):** Normal 
- **Vertical (Z):** Normal 
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal 
@@ -121,19 +121,19 @@ Layer time variability refers to the differences in time it takes to print each
Parallel lines spaced according to infill density. Each layer is printed perpendicular to the previous, resulting in low vertical bonding. Consider using new [Zig Zag](#zig-zag) infill instead.
@@ -163,16 +163,16 @@ Recommended with layer anchoring to improve not perpendicular strength.
Similar to [rectilinear](#rectilinear) with consistent pattern between layers. Allows you to add a Symmetric infill Y axis for models with two symmetric parts.
@@ -181,16 +181,16 @@ Similar to [rectilinear](#rectilinear) with consistent pattern between layers. A
Similar to [Zig Zag](#zig-zag) but displacing each layer with Infill shift step parameter.
- **Strength**
- **Horizontal (X-Y):** Normal 
- **Horizontal (X-Y):** Normal 
@@ -200,17 +200,17 @@ Version of [Zig Zag](#zig-zag) that adds extra skin.
When using this fill, you can individually modify the density of the skeleton and skin, as well as the size of the skin and how much interconnection there is between the skin and the skeleton (a lock depth of 50% of the skin depth is recommended).
@@ -273,16 +273,16 @@ Triangle-based grid, offering strong X-Y strength but with triple overlaps at in
Similar to the [triangles](#triangles) pattern but offset to prevent triple overlaps at intersections. This design combines triangles and hexagons, providing excellent X-Y strength.
- **Strength**
- **Horizontal (X-Y):** High 
@@ -309,16 +309,16 @@ Similar to the [triangles](#triangles) pattern but offset to prevent triple over
[Cubic](#cubic) pattern with adaptive density: denser near walls, sparser in the center. Saves material and time while maintaining strength, ideal for large prints.
@@ -345,16 +345,16 @@ Similar to the [triangles](#triangles) pattern but offset to prevent triple over
Support |Cubic is a variation of the [Cubic](#cubic) infill pattern that is specifically designed for support top layers. Will use more material than Lightning infill but will provide better strength. Nevertheless, it is still a low-density infill pattern.
@@ -399,16 +399,16 @@ Hexagonal pattern balancing strength and material use. Double walls in each hexa
This infill tries to generate a printable honeycomb structure by printing squares and octagons maintaining a vertical angle high enough to maintain contact with the previous layer.
@@ -417,16 +417,16 @@ This infill tries to generate a printable honeycomb structure by printing square
Vertical Honeycomb pattern. Acceptable torsional stiffness. Developed for low densities structures like wings. Improve over [Lateral Lattice](#lateral-lattice) offers same performance with lower densities.This infill includes a Overhang angle parameter to improve the point of contact between layers and reduce the risk of delamination.
@@ -435,16 +435,16 @@ Vertical Honeycomb pattern. Acceptable torsional stiffness. Developed for low de
Low-strength pattern with good flexibility. You can adjust **Angle 1** and **Angle 2** to optimize the infill for your specific model. Each angle adjusts the plane of each layer generated by the pattern. 0° is vertical.
@@ -472,16 +472,16 @@ Easier to slice but consider using [TPMS-D](#tpms-d) or [Gyroid](#gyroid) for be
Triply Periodic Minimal Surface (Schwarz Diamond). Hybrid between [Cross Hatch](#cross-hatch) and [Gyroid](#gyroid), combining rigidity and smooth transitions. Isotropic and strong in all directions. This geometry is faster to slice than Gyroid, but slower than Cross Hatch.
- **Strength**
- **Horizontal (X-Y):** High 
- **Vertical (Z):** High 
- **Horizontal (X-Y):** High 
- **Vertical (Z):** High 
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal 
- **Print Time:** High 
Triply Periodic Minimal Surface (Fischer–Koch S) pattern. Its smooth, continuous geometry resembles trabecular bone microstructure, offering a balance between rigidity and energy absorption. Compared to [TPMS-D](#tpms-d), it has more complex curvature, which can improve load distribution and shock absorption in functional parts.
Mathematical, isotropic surface providing equal strength in all directions. Excellent for strong, flexible prints and resin filling due to its interconnected structure. This pattern may require more time to slice because of all the points needed to generate each curve. If your model has complex geometry, consider using a simpler infill pattern like [TPMS-D](#tpms-d) or [Cross Hatch](#cross-hatch).
- **Strength**
- **Horizontal (X-Y):** High 
- **Vertical (Z):** High 
- **Horizontal (X-Y):** High 
- **Vertical (Z):** High 
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal 
@@ -548,18 +548,18 @@ Hilbert Curve is a space-filling curve that can be used to create a continuous i
Print speed is very low due to the complexity of the path, which can lead to longer print times. It is not recommended for structural parts but can be used for aesthetic purposes.
@@ -568,18 +568,18 @@ Print speed is very low due to the complexity of the path, which can lead to lon
Spiral pattern that fills the area with concentric arcs, creating a smooth and continuous infill. Can be filled with resin thanks to its interconnected hollow structure, which allows the resin to flow through it and cure properly.
@@ -100,6 +100,7 @@ This G-code is inserted when the extrusion role is changed.
Example G-codes:
- Marlin g-code to set fan speed to 10% (S25 out of S255) for BridgeInfill role and 30% (S75 out of S255) for other roles:
```c++
{if( extrusion_role == "BridgeInfill")}
M106 S25
@@ -109,6 +110,7 @@ Example G-codes:
```
- Marlin G-code to set the fan speed to 0% for the ['Internal Sparse Infill' role](strength_settings_infill) and the first three layers, and to 30% `0.3*255` for the other roles. This achieves good layer adhesion while maintaining perimeter quality.:
- Marlin g-code to set pressure advance to 0 for ['Internal Sparse Infill' role](strength_settings_infill) and restore it to previous value for other roles:
```c++
{if( extrusion_role == "InternalInfill")}
M900 K0
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.