diff --git a/doc/print_settings/strength/infill_desc_calculator.xlsx b/doc/print_settings/strength/infill_desc_calculator.xlsx index cbe000af60..655784b1a5 100644 Binary files a/doc/print_settings/strength/infill_desc_calculator.xlsx and b/doc/print_settings/strength/infill_desc_calculator.xlsx differ diff --git a/doc/print_settings/strength/strength_settings_infill.md b/doc/print_settings/strength/strength_settings_infill.md index cb2868fcdc..320f93ee7b 100644 --- a/doc/print_settings/strength/strength_settings_infill.md +++ b/doc/print_settings/strength/strength_settings_infill.md @@ -13,31 +13,31 @@ Infill is the internal structure of a 3D print, providing strength and support. - [Anchor](#anchor) - [Internal Solid Infill](#internal-solid-infill) - [Sparse Infill Pattern](#sparse-infill-pattern) - - [Concentric](#concentric) - [Rectilinear](#rectilinear) - - [Grid](#grid) - - [2D Lattice](#2d-lattice) - - [Line](#line) - - [Cubic](#cubic) - - [Triangles](#triangles) - - [Tri-hexagon](#tri-hexagon) - - [Gyroid](#gyroid) - - [TPMS-D](#tpms-d) - - [Honeycomb](#honeycomb) - - [Adaptive Cubic](#adaptive-cubic) - [Aligned Rectilinear](#aligned-rectilinear) - - [2D Honeycomb](#2d-honeycomb) - - [3D Honeycomb](#3d-honeycomb) - - [Hilbert Curve](#hilbert-curve) - - [Archimedean Chords](#archimedean-chords) - - [Octagram Spiral](#octagram-spiral) - - [Support Cubic](#support-cubic) - - [Lightning](#lightning) - - [Cross Hatch](#cross-hatch) - - [Quarter Cubic](#quarter-cubic) - [Zig Zag](#zig-zag) - [Cross Zag](#cross-zag) - [Locked Zag](#locked-zag) + - [Line](#line) + - [Grid](#grid) + - [Triangles](#triangles) + - [Tri-hexagon](#tri-hexagon) + - [Cubic](#cubic) + - [Adaptive Cubic](#adaptive-cubic) + - [Quarter Cubic](#quarter-cubic) + - [Support Cubic](#support-cubic) + - [Lightning](#lightning) + - [Honeycomb](#honeycomb) + - [3D Honeycomb](#3d-honeycomb) + - [2D Honeycomb](#2d-honeycomb) + - [2D Lattice](#2d-lattice) + - [Cross Hatch](#cross-hatch) + - [TPMS-D](#tpms-d) + - [Gyroid](#gyroid) + - [Concentric](#concentric) + - [Hilbert Curve](#hilbert-curve) + - [Archimedean Chords](#archimedean-chords) + - [Octagram Spiral](#octagram-spiral) ## Sparse infill density @@ -169,48 +169,35 @@ As most settings in 3D printing, experience is the best way to determine which p | SVG | Pattern | X-Y Strength | Z Strength | Material Usage | Print Time | |---|---|---|---|---|---| -| ![param_concentric](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_concentric.svg?raw=true) | [Concentric](#concentric) | Low | Normal | Normal | Normal | -| ![param_zig-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_zig-zag.svg?raw=true) | [Rectilinear](#rectilinear) | Normal-Low | Low | Normal | Normal-Low | -| ![param_grid](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_grid.svg?raw=true) | [Grid](#grid) | High | High | Normal | Normal-Low | -| ![param_2dlattice](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_2dlattice.svg?raw=true) | [2D Lattice](#2d-lattice) | Normal-Low | Low | Normal | Normal-Low | -| ![param_line](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_line.svg?raw=true) | [Line](#line) | Low | Low | Normal | Normal-Low | -| ![param_cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_cubic.svg?raw=true) | [Cubic](#cubic) | High | High | Normal | Normal-Low | -| ![param_triangles](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_triangles.svg?raw=true) | [Triangles](#triangles) | High | Normal | Normal | Normal-Low | -| ![param_tri-hexagon](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_tri-hexagon.svg?raw=true) | [Tri-hexagon](#tri-hexagon) | High | Normal-High | Normal | Normal-Low | -| ![param_gyroid](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_gyroid.svg?raw=true) | [Gyroid](#gyroid) | High | High | Normal | Normal-High | -| ![param_tpmsd](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_tpmsd.svg?raw=true) | [TPMS-D](#tpms-d) | High | High | Normal | High | -| ![param_honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_honeycomb.svg?raw=true) | [Honeycomb](#honeycomb) | High | High | High | Ultra-High | -| ![param_adaptivecubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_adaptivecubic.svg?raw=true) | [Adaptive Cubic](#adaptive-cubic) | Normal-High | Normal-High | Low | Low | +| ![param_rectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_rectilinear.svg?raw=true) | [Rectilinear](#rectilinear) | Normal-Low | Low | Normal | Normal-Low | | ![param_alignedrectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_alignedrectilinear.svg?raw=true) | [Aligned Rectilinear](#aligned-rectilinear) | Normal-Low | Normal | Normal | Normal-Low | -| ![param_2dhoneycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_2dhoneycomb.svg?raw=true) | [2D Honeycomb](#2d-honeycomb) | Normal-Low | Normal-Low | Normal | Normal-Low | -| ![param_3dhoneycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_3dhoneycomb.svg?raw=true) | [3D Honeycomb](#3d-honeycomb) | Normal-High | Normal-High | Normal-Low | High | -| ![param_hilbertcurve](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_hilbertcurve.svg?raw=true) | [Hilbert Curve](#hilbert-curve) | Low | Normal | Normal | High | -| ![param_archimedeanchords](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_archimedeanchords.svg?raw=true) | [Archimedean Chords](#archimedean-chords) | Low | Normal | Normal | Normal-Low | -| ![param_octagramspiral](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_octagramspiral.svg?raw=true) | [Octagram Spiral](#octagram-spiral) | Low | Normal | Normal | Normal | -| ![param_supportcubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_supportcubic.svg?raw=true) | [Support Cubic](#support-cubic) | Low | Low | Extra-Low | Extra-Low | -| ![param_lightning](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_lightning.svg?raw=true) | [Lightning](#lightning) | Low | Low | Ultra-Low | Ultra-Low | -| ![param_crosshatch](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_crosshatch.svg?raw=true) | [Cross Hatch](#cross-hatch) | Normal-High | Normal-High | Normal | Normal-High | -| ![param_quartercubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_quartercubic.svg?raw=true) | [Quarter Cubic](#quarter-cubic) | High | High | Normal | Normal-Low | | ![param_zigzag](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_zigzag.svg?raw=true) | [Zig Zag](#zig-zag) | Normal-Low | Low | Normal | Normal | | ![param_crosszag](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_crosszag.svg?raw=true) | [Cross Zag](#cross-zag) | Normal | Low | Normal | Normal | | ![param_lockedzag](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_lockedzag.svg?raw=true) | [Locked Zag](#locked-zag) | Normal-Low | Normal-Low | Normal-High | Extra-High | +| ![param_line](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_line.svg?raw=true) | [Line](#line) | Low | Low | Normal | Normal-Low | +| ![param_grid](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_grid.svg?raw=true) | [Grid](#grid) | High | High | Normal | Normal-Low | +| ![param_triangles](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_triangles.svg?raw=true) | [Triangles](#triangles) | High | Normal | Normal | Normal-Low | +| ![param_tri-hexagon](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_tri-hexagon.svg?raw=true) | [Tri-hexagon](#tri-hexagon) | High | Normal-High | Normal | Normal-Low | +| ![param_cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_cubic.svg?raw=true) | [Cubic](#cubic) | High | High | Normal | Normal-Low | +| ![param_adaptivecubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_adaptivecubic.svg?raw=true) | [Adaptive Cubic](#adaptive-cubic) | Normal-High | Normal-High | Low | Low | +| ![param_quartercubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_quartercubic.svg?raw=true) | [Quarter Cubic](#quarter-cubic) | High | High | Normal | Normal-Low | +| ![param_supportcubic](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_supportcubic.svg?raw=true) | [Support Cubic](#support-cubic) | Low | Low | Extra-Low | Extra-Low | +| ![param_lightning](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_lightning.svg?raw=true) | [Lightning](#lightning) | Low | Low | Ultra-Low | Ultra-Low | +| ![param_honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_honeycomb.svg?raw=true) | [Honeycomb](#honeycomb) | High | High | High | Ultra-High | +| ![param_3dhoneycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_3dhoneycomb.svg?raw=true) | [3D Honeycomb](#3d-honeycomb) | Normal-High | Normal-High | Normal-Low | High | +| ![param_2dhoneycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_2dhoneycomb.svg?raw=true) | [2D Honeycomb](#2d-honeycomb) | Normal-Low | Normal-Low | Normal | Normal-Low | +| ![param_2dlattice](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_2dlattice.svg?raw=true) | [2D Lattice](#2d-lattice) | Normal-Low | Low | Normal | Normal-Low | +| ![param_crosshatch](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_crosshatch.svg?raw=true) | [Cross Hatch](#cross-hatch) | Normal-High | Normal-High | Normal | Normal-High | +| ![param_tpmsd](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_tpmsd.svg?raw=true) | [TPMS-D](#tpms-d) | High | High | Normal | High | +| ![param_gyroid](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_gyroid.svg?raw=true) | [Gyroid](#gyroid) | High | High | Normal | Normal-High | +| ![param_concentric](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_concentric.svg?raw=true) | [Concentric](#concentric) | Low | Normal | Normal | Normal | +| ![param_hilbertcurve](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_hilbertcurve.svg?raw=true) | [Hilbert Curve](#hilbert-curve) | Low | Normal | Normal | High | +| ![param_archimedeanchords](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_archimedeanchords.svg?raw=true) | [Archimedean Chords](#archimedean-chords) | Low | Normal | Normal | Normal-Low | +| ![param_octagramspiral](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_octagramspiral.svg?raw=true) | [Octagram Spiral](#octagram-spiral) | Low | Normal | Normal | Normal | > [!NOTE] > You can download [infill_desc_calculator.xlsx](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/print_settings/strength/infill_desc_calculator.xlsx?raw=true) used to calculate the values above. -### Concentric - -Fills the area with progressively smaller versions of the outer contour, creating a concentric pattern. Ideal for 100% infill or flexible prints. - -- **Horizontal Strength (X-Y):** Low -- **Vertical Strength (Z):** Normal -- **Density Calculation:** % of total infill volume -- **Material Usage:** Normal -- **Print Time:** Normal -- **Material/Time (Higher better):** Normal-High - -![infill-top-concentric](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-concentric.png?raw=true) - ### Rectilinear 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. @@ -224,31 +211,58 @@ Parallel lines spaced according to infill density. Each layer is printed perpend ![infill-top-rectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-rectilinear.png?raw=true) -### Grid +### Aligned Rectilinear -Two-layer pattern of perpendicular lines, forming a grid. Overlapping points may cause noise or artifacts. +Parallel lines spaced by the infill spacing, each layer printed in the same direction as the previous layer. Good horizontal strength perpendicular to the lines, but terrible in parallel direction. +Recommended with layer anchoring to improve not perpendicular strength. -- **Horizontal Strength (X-Y):** High -- **Vertical Strength (Z):** High +- **Horizontal Strength (X-Y):** Normal-Low +- **Vertical Strength (Z):** Normal - **Density Calculation:** % of total infill volume - **Material Usage:** Normal - **Print Time:** Normal-Low - **Material/Time (Higher better):** Normal -![infill-top-grid](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-grid.png?raw=true) +![infill-top-aligned-rectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-aligned-rectilinear.png?raw=true) -### 2D Lattice +### Zig Zag -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. +Similar to [rectilinear](#rectilinear) with consistent pattern between layers. Allows you to add a Symmetric infill Y axis for models with two symmetric parts. - **Horizontal Strength (X-Y):** Normal-Low - **Vertical Strength (Z):** Low - **Density Calculation:** % of total infill volume - **Material Usage:** Normal -- **Print Time:** Normal-Low +- **Print Time:** Normal - **Material/Time (Higher better):** Normal -![infill-top-2d-lattice](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-2d-lattice.png?raw=true) +![infill-top-zig-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-zig-zag.png?raw=true) + +### Cross Zag + +Similar to [Zig Zag](#zig-zag) but displacing each layer with Infill shift step parameter. + +- **Horizontal Strength (X-Y):** Normal +- **Vertical Strength (Z):** Low +- **Density Calculation:** % of total infill volume +- **Material Usage:** Normal +- **Print Time:** Normal +- **Material/Time (Higher better):** Normal + +![infill-top-cross-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cross-zag.png?raw=true) + +### Locked Zag + +Adaptive version of [Zig Zag](#zig-zag) adding an external skin texture to interlock layers and a low material skeleton. + +- **Horizontal Strength (X-Y):** Normal-Low +- **Vertical Strength (Z):** Normal-Low +- **Density Calculation:** Same as [Zig Zag](#zig-zag) but increasing near walls +- **Material Usage:** Normal-High +- **Print Time:** Extra-High +- **Material/Time (Higher better):** Low + +![infill-top-locked-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-locked-zag.png?raw=true) ### Line @@ -263,18 +277,18 @@ Similar to [rectilinear](#rectilinear), but each line is slightly rotated to imp ![infill-top-line](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-line.png?raw=true) -### Cubic +### Grid -3D cube pattern with corners facing down, distributing force in all directions. Triangles in the horizontal plane provide good X-Y strength. +Two-layer pattern of perpendicular lines, forming a grid. Overlapping points may cause noise or artifacts. - **Horizontal Strength (X-Y):** High - **Vertical Strength (Z):** High - **Density Calculation:** % of total infill volume - **Material Usage:** Normal - **Print Time:** Normal-Low -- **Material/Time (Higher better):** Normal-High +- **Material/Time (Higher better):** Normal -![infill-top-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cubic.png?raw=true) +![infill-top-grid](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-grid.png?raw=true) ### Triangles @@ -302,44 +316,18 @@ Similar to the [triangles](#triangles) pattern but offset to prevent triple over ![infill-top-tri-hexagon](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-tri-hexagon.png?raw=true) -### Gyroid +### Cubic -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). +3D cube pattern with corners facing down, distributing force in all directions. Triangles in the horizontal plane provide good X-Y strength. - **Horizontal Strength (X-Y):** High - **Vertical Strength (Z):** High - **Density Calculation:** % of total infill volume - **Material Usage:** Normal -- **Print Time:** Normal-High -- **Material/Time (Higher better):** Normal-Low +- **Print Time:** Normal-Low +- **Material/Time (Higher better):** Normal-High -![infill-top-gyroid](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-gyroid.png?raw=true) - -### TPMS-D - -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. - -- **Horizontal Strength (X-Y):** High -- **Vertical Strength (Z):** High -- **Density Calculation:** % of total infill volume -- **Material Usage:** Normal -- **Print Time:** High -- **Material/Time (Higher better):** Normal-Low - -![infill-top-tpms-d](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-tpms-d.png?raw=true) - -### Honeycomb - -Hexagonal pattern balancing strength and material use. Double walls in each hexagon increase material consumption. - -- **Horizontal Strength (X-Y):** High -- **Vertical Strength (Z):** High -- **Density Calculation:** % of total infill volume -- **Material Usage:** High -- **Print Time:** Ultra-High -- **Material/Time (Higher better):** Low - -![infill-top-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-honeycomb.png?raw=true) +![infill-top-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cubic.png?raw=true) ### Adaptive Cubic @@ -354,19 +342,70 @@ Hexagonal pattern balancing strength and material use. Double walls in each hexa ![infill-top-adaptive-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-adaptive-cubic.png?raw=true) -### Aligned Rectilinear +### Quarter Cubic -Parallel lines spaced by the infill spacing, each layer printed in the same direction as the previous layer. Good horizontal strength perpendicular to the lines, but terrible in parallel direction. -Recommended with layer anchoring to improve not perpendicular strength. +[Cubic](#cubic) pattern with extra internal divisions, improving X-Y strength. -- **Horizontal Strength (X-Y):** Normal-Low -- **Vertical Strength (Z):** Normal +- **Horizontal Strength (X-Y):** High +- **Vertical Strength (Z):** High - **Density Calculation:** % of total infill volume - **Material Usage:** Normal - **Print Time:** Normal-Low - **Material/Time (Higher better):** Normal -![infill-top-aligned-rectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-aligned-rectilinear.png?raw=true) +![infill-top-quarter-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-quarter-cubic.png?raw=true) + +### Support Cubic + +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. + +- **Horizontal Strength (X-Y):** Low +- **Vertical Strength (Z):** Low +- **Density Calculation:** % of layer before top shell layers +- **Material Usage:** Extra-Low +- **Print Time:** Extra-Low +- **Material/Time (Higher better):** Normal + +![infill-top-support-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-support-cubic.png?raw=true) + +### Lightning + +Ultra-fast, ultra-low material infill. Designed for speed and efficiency, ideal for quick prints or non-structural prototypes. + +- **Horizontal Strength (X-Y):** Low +- **Vertical Strength (Z):** Low +- **Density Calculation:** % of layer before top shell layers +- **Material Usage:** Ultra-Low +- **Print Time:** Ultra-Low +- **Material/Time (Higher better):** Low + +![infill-top-lightning](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-lightning.png?raw=true) + +### Honeycomb + +Hexagonal pattern balancing strength and material use. Double walls in each hexagon increase material consumption. + +- **Horizontal Strength (X-Y):** High +- **Vertical Strength (Z):** High +- **Density Calculation:** % of total infill volume +- **Material Usage:** High +- **Print Time:** Ultra-High +- **Material/Time (Higher better):** Low + +![infill-top-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-honeycomb.png?raw=true) + +### 3D Honeycomb + +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. + +- **Horizontal Strength (X-Y):** Normal-High +- **Vertical Strength (Z):** Normal-High +- **Density Calculation:** Unknown +- **Material Usage:** Normal-Low +- **Print Time:** High +- **Material/Time (Higher better):** Low + +![infill-top-3d-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-3d-honeycomb.png?raw=true) ### 2D Honeycomb @@ -381,18 +420,71 @@ Vertical Honeycomb pattern. Acceptable torsional stiffness. Developed for low de ![infill-top-2d-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-2d-honeycomb.png?raw=true) -### 3D Honeycomb +### 2D Lattice -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. +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. + +- **Horizontal Strength (X-Y):** Normal-Low +- **Vertical Strength (Z):** Low +- **Density Calculation:** % of total infill volume +- **Material Usage:** Normal +- **Print Time:** Normal-Low +- **Material/Time (Higher better):** Normal + +![infill-top-2d-lattice](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-2d-lattice.png?raw=true) + +### Cross Hatch + +Similar to [Gyroid](#gyroid) but with linear patterns, creating weak points at internal corners. +Easier to slice but consider using [TPMS-D](#tpms-d) or [Gyroid](#gyroid) for better strength and flexibility. - **Horizontal Strength (X-Y):** Normal-High - **Vertical Strength (Z):** Normal-High -- **Density Calculation:** Unknown -- **Material Usage:** Normal-Low -- **Print Time:** High -- **Material/Time (Higher better):** Low +- **Density Calculation:** % of total infill volume +- **Material Usage:** Normal +- **Print Time:** Normal-High +- **Material/Time (Higher better):** Normal-Low -![infill-top-3d-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-3d-honeycomb.png?raw=true) +![infill-top-cross-hatch](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cross-hatch.png?raw=true) + +### TPMS-D + +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. + +- **Horizontal Strength (X-Y):** High +- **Vertical Strength (Z):** High +- **Density Calculation:** % of total infill volume +- **Material Usage:** Normal +- **Print Time:** High +- **Material/Time (Higher better):** Normal-Low + +![infill-top-tpms-d](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-tpms-d.png?raw=true) + +### Gyroid + +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). + +- **Horizontal Strength (X-Y):** High +- **Vertical Strength (Z):** High +- **Density Calculation:** % of total infill volume +- **Material Usage:** Normal +- **Print Time:** Normal-High +- **Material/Time (Higher better):** Normal-Low + +![infill-top-gyroid](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-gyroid.png?raw=true) + +### Concentric + +Fills the area with progressively smaller versions of the outer contour, creating a concentric pattern. Ideal for 100% infill or flexible prints. + +- **Horizontal Strength (X-Y):** Low +- **Vertical Strength (Z):** Normal +- **Density Calculation:** % of total infill volume +- **Material Usage:** Normal +- **Print Time:** Normal +- **Material/Time (Higher better):** Normal-High + +![infill-top-concentric](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-concentric.png?raw=true) ### Hilbert Curve @@ -433,95 +525,3 @@ Esthetic pattern with low strength and high print time. - **Material/Time (Higher better):** Normal-Low ![infill-top-octagram-spiral](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-octagram-spiral.png?raw=true) - -### Support Cubic - -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. - -- **Horizontal Strength (X-Y):** Low -- **Vertical Strength (Z):** Low -- **Density Calculation:** % of layer before top shell layers -- **Material Usage:** Extra-Low -- **Print Time:** Extra-Low -- **Material/Time (Higher better):** Normal - -![infill-top-support-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-support-cubic.png?raw=true) - -### Lightning - -Ultra-fast, ultra-low material infill. Designed for speed and efficiency, ideal for quick prints or non-structural prototypes. - -- **Horizontal Strength (X-Y):** Low -- **Vertical Strength (Z):** Low -- **Density Calculation:** % of layer before top shell layers -- **Material Usage:** Ultra-Low -- **Print Time:** Ultra-Low -- **Material/Time (Higher better):** Low - -![infill-top-lightning](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-lightning.png?raw=true) - -### Cross Hatch - -Similar to [Gyroid](#gyroid) but with linear patterns, creating weak points at internal corners. -Easier to slice but consider using [TPMS-D](#tpms-d) or [Gyroid](#gyroid) for better strength and flexibility. - -- **Horizontal Strength (X-Y):** Normal-High -- **Vertical Strength (Z):** Normal-High -- **Density Calculation:** % of total infill volume -- **Material Usage:** Normal -- **Print Time:** Normal-High -- **Material/Time (Higher better):** Normal-Low - -![infill-top-cross-hatch](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cross-hatch.png?raw=true) - -### Quarter Cubic - -[Cubic](#cubic) pattern with extra internal divisions, improving X-Y strength. - -- **Horizontal Strength (X-Y):** High -- **Vertical Strength (Z):** High -- **Density Calculation:** % of total infill volume -- **Material Usage:** Normal -- **Print Time:** Normal-Low -- **Material/Time (Higher better):** Normal - -![infill-top-quarter-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-quarter-cubic.png?raw=true) - -### Zig Zag - -Similar to [rectilinear](#rectilinear) with consistent pattern between layers. Allows you to add a Symmetric infill Y axis for models with two symmetric parts. - -- **Horizontal Strength (X-Y):** Normal-Low -- **Vertical Strength (Z):** Low -- **Density Calculation:** % of total infill volume -- **Material Usage:** Normal -- **Print Time:** Normal -- **Material/Time (Higher better):** Normal - -![infill-top-zig-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-zig-zag.png?raw=true) - -### Cross Zag - -Similar to [Zig Zag](#zig-zag) but displacing each layer with Infill shift step parameter. - -- **Horizontal Strength (X-Y):** Normal -- **Vertical Strength (Z):** Low -- **Density Calculation:** % of total infill volume -- **Material Usage:** Normal -- **Print Time:** Normal -- **Material/Time (Higher better):** Normal - -![infill-top-cross-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cross-zag.png?raw=true) - -### Locked Zag - -Adaptive version of [Zig Zag](#zig-zag) adding an external skin texture to interlock layers and a low material skeleton. - -- **Horizontal Strength (X-Y):** Normal-Low -- **Vertical Strength (Z):** Normal-Low -- **Density Calculation:** Same as [Zig Zag](#zig-zag) but increasing near walls -- **Material Usage:** Normal-High -- **Print Time:** Extra-High -- **Material/Time (Higher better):** Low - -![infill-top-locked-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-locked-zag.png?raw=true) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 2b4f53af69..036980d042 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -137,33 +137,33 @@ static t_config_enum_values s_keys_map_NoiseType { CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(NoiseType) static t_config_enum_values s_keys_map_InfillPattern { - { "concentric", ipConcentric }, - { "zig-zag", ipRectilinear }, - { "grid", ipGrid }, - { "2dlattice", ip2DLattice }, - { "line", ipLine }, - { "cubic", ipCubic }, - { "triangles", ipTriangles }, - { "tri-hexagon", ipStars }, - { "gyroid", ipGyroid }, - { "tpmsd", ipTpmsD },//TpmsD from CrealityPrint - { "honeycomb", ipHoneycomb }, - { "adaptivecubic", ipAdaptiveCubic }, - { "monotonic", ipMonotonic }, - { "monotonicline", ipMonotonicLine }, + { "monotonic", ipMonotonic }, + { "monotonicline", ipMonotonicLine }, + { "rectilinear", ipRectilinear }, { "alignedrectilinear", ipAlignedRectilinear }, - { "2dhoneycomb", ip2DHoneycomb }, - { "3dhoneycomb", ip3DHoneycomb }, - { "hilbertcurve", ipHilbertCurve }, - { "archimedeanchords", ipArchimedeanChords }, - { "octagramspiral", ipOctagramSpiral }, - { "supportcubic", ipSupportCubic }, - { "lightning", ipLightning }, - { "crosshatch", ipCrossHatch}, - { "quartercubic", ipQuarterCubic}, - { "zigzag", ipZigZag }, - { "crosszag", ipCrossZag }, - { "lockedzag", ipLockedZag } + { "zigzag", ipZigZag }, + { "crosszag", ipCrossZag }, + { "lockedzag", ipLockedZag }, + { "line", ipLine }, + { "grid", ipGrid }, + { "triangles", ipTriangles }, + { "tri-hexagon", ipStars }, + { "cubic", ipCubic }, + { "adaptivecubic", ipAdaptiveCubic }, + { "quartercubic", ipQuarterCubic }, + { "supportcubic", ipSupportCubic }, + { "lightning", ipLightning }, + { "honeycomb", ipHoneycomb }, + { "3dhoneycomb", ip3DHoneycomb }, + { "2dhoneycomb", ip2DHoneycomb }, + { "2dlattice", ip2DLattice }, + { "crosshatch", ipCrossHatch }, + { "tpmsd", ipTpmsD }, + { "gyroid", ipGyroid }, + { "concentric", ipConcentric }, + { "hilbertcurve", ipHilbertCurve }, + { "archimedeanchords", ipArchimedeanChords }, + { "octagramspiral", ipOctagramSpiral } }; CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(InfillPattern) @@ -226,8 +226,8 @@ CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(SlicingMode) static t_config_enum_values s_keys_map_SupportMaterialPattern { { "rectilinear", smpRectilinear }, { "rectilinear-grid", smpRectilinearGrid }, - { "honeycomb", smpHoneycomb }, { "lightning", smpLightning }, + { "honeycomb", smpHoneycomb }, { "default", smpDefault}, { "hollow", smpNone}, }; @@ -1610,19 +1610,19 @@ void PrintConfigDef::init_fff_params() def->category = L("Strength"); def->tooltip = L("Line pattern of top surface infill."); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); - def->enum_values.push_back("concentric"); - def->enum_values.push_back("zig-zag"); def->enum_values.push_back("monotonic"); def->enum_values.push_back("monotonicline"); + def->enum_values.push_back("rectilinear"); def->enum_values.push_back("alignedrectilinear"); + def->enum_values.push_back("concentric"); def->enum_values.push_back("hilbertcurve"); def->enum_values.push_back("archimedeanchords"); def->enum_values.push_back("octagramspiral"); - def->enum_labels.push_back(L("Concentric")); - def->enum_labels.push_back(L("Rectilinear")); def->enum_labels.push_back(L("Monotonic")); def->enum_labels.push_back(L("Monotonic line")); + def->enum_labels.push_back(L("Rectilinear")); def->enum_labels.push_back(L("Aligned Rectilinear")); + def->enum_labels.push_back(L("Concentric")); def->enum_labels.push_back(L("Hilbert Curve")); def->enum_labels.push_back(L("Archimedean Chords")); def->enum_labels.push_back(L("Octagram Spiral")); @@ -2374,56 +2374,56 @@ void PrintConfigDef::init_fff_params() def->category = L("Strength"); def->tooltip = L("Line pattern for internal sparse infill."); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); - def->enum_values.push_back("concentric"); - def->enum_values.push_back("zig-zag"); - def->enum_values.push_back("grid"); - def->enum_values.push_back("2dlattice"); - def->enum_values.push_back("line"); - def->enum_values.push_back("cubic"); - def->enum_values.push_back("triangles"); - def->enum_values.push_back("tri-hexagon"); - def->enum_values.push_back("gyroid"); - def->enum_values.push_back("tpmsd"); - def->enum_values.push_back("honeycomb"); - def->enum_values.push_back("adaptivecubic"); + def->enum_values.push_back("rectilinear"); def->enum_values.push_back("alignedrectilinear"); - def->enum_values.push_back("2dhoneycomb"); - def->enum_values.push_back("3dhoneycomb"); - def->enum_values.push_back("hilbertcurve"); - def->enum_values.push_back("archimedeanchords"); - def->enum_values.push_back("octagramspiral"); - def->enum_values.push_back("supportcubic"); - def->enum_values.push_back("lightning"); - def->enum_values.push_back("crosshatch"); - def->enum_values.push_back("quartercubic"); def->enum_values.push_back("zigzag"); def->enum_values.push_back("crosszag"); def->enum_values.push_back("lockedzag"); - def->enum_labels.push_back(L("Concentric")); + def->enum_values.push_back("line"); + def->enum_values.push_back("grid"); + def->enum_values.push_back("triangles"); + def->enum_values.push_back("tri-hexagon"); + def->enum_values.push_back("cubic"); + def->enum_values.push_back("adaptivecubic"); + def->enum_values.push_back("quartercubic"); + def->enum_values.push_back("supportcubic"); + def->enum_values.push_back("lightning"); + def->enum_values.push_back("honeycomb"); + def->enum_values.push_back("3dhoneycomb"); + def->enum_values.push_back("2dhoneycomb"); + def->enum_values.push_back("2dlattice"); + def->enum_values.push_back("crosshatch"); + def->enum_values.push_back("tpmsd"); + def->enum_values.push_back("gyroid"); + def->enum_values.push_back("concentric"); + def->enum_values.push_back("hilbertcurve"); + def->enum_values.push_back("archimedeanchords"); + def->enum_values.push_back("octagramspiral"); def->enum_labels.push_back(L("Rectilinear")); - def->enum_labels.push_back(L("Grid")); - def->enum_labels.push_back(L("2D Lattice")); - def->enum_labels.push_back(L("Line")); - def->enum_labels.push_back(L("Cubic")); - def->enum_labels.push_back(L("Triangles")); - def->enum_labels.push_back(L("Tri-hexagon")); - def->enum_labels.push_back(L("Gyroid")); - def->enum_labels.push_back(L("TPMS-D")); - def->enum_labels.push_back(L("Honeycomb")); - def->enum_labels.push_back(L("Adaptive Cubic")); def->enum_labels.push_back(L("Aligned Rectilinear")); - def->enum_labels.push_back(L("2D Honeycomb")); - def->enum_labels.push_back(L("3D Honeycomb")); - def->enum_labels.push_back(L("Hilbert Curve")); - def->enum_labels.push_back(L("Archimedean Chords")); - def->enum_labels.push_back(L("Octagram Spiral")); - def->enum_labels.push_back(L("Support Cubic")); - def->enum_labels.push_back(L("Lightning")); - def->enum_labels.push_back(L("Cross Hatch")); - def->enum_labels.push_back(L("Quarter Cubic")); def->enum_labels.push_back(L("Zig Zag")); def->enum_labels.push_back(L("Cross Zag")); def->enum_labels.push_back(L("Locked Zag")); + def->enum_labels.push_back(L("Line")); + def->enum_labels.push_back(L("Grid")); + def->enum_labels.push_back(L("Triangles")); + def->enum_labels.push_back(L("Tri-hexagon")); + def->enum_labels.push_back(L("Cubic")); + def->enum_labels.push_back(L("Adaptive Cubic")); + def->enum_labels.push_back(L("Quarter Cubic")); + def->enum_labels.push_back(L("Support Cubic")); + def->enum_labels.push_back(L("Lightning")); + def->enum_labels.push_back(L("Honeycomb")); + def->enum_labels.push_back(L("3D Honeycomb")); + def->enum_labels.push_back(L("2D Honeycomb")); + def->enum_labels.push_back(L("2D Lattice")); + def->enum_labels.push_back(L("Cross Hatch")); + def->enum_labels.push_back(L("TPMS-D")); + def->enum_labels.push_back(L("Gyroid")); + def->enum_labels.push_back(L("Concentric")); + def->enum_labels.push_back(L("Hilbert Curve")); + def->enum_labels.push_back(L("Archimedean Chords")); + def->enum_labels.push_back(L("Octagram Spiral")); def->set_default_value(new ConfigOptionEnum(ipCrossHatch)); def = this->add("lattice_angle_1", coFloat); @@ -3418,10 +3418,10 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("The pattern that will be used when ironing."); def->category = L("Quality"); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); + def->enum_values.push_back("rectilinear"); def->enum_values.push_back("concentric"); - def->enum_values.push_back("zig-zag"); - def->enum_labels.push_back(L("Concentric")); def->enum_labels.push_back(L("Rectilinear")); + def->enum_labels.push_back(L("Concentric")); def->mode = comAdvanced; def->set_default_value(new ConfigOptionEnum(ipRectilinear)); @@ -5051,14 +5051,14 @@ void PrintConfigDef::init_fff_params() def->enum_values.push_back("default"); def->enum_values.push_back("rectilinear"); def->enum_values.push_back("rectilinear-grid"); - def->enum_values.push_back("honeycomb"); def->enum_values.push_back("lightning"); + def->enum_values.push_back("honeycomb"); def->enum_values.push_back("hollow"); def->enum_labels.push_back(L("Default")); def->enum_labels.push_back(L("Rectilinear")); def->enum_labels.push_back(L("Rectilinear grid")); - def->enum_labels.push_back(L("Honeycomb")); def->enum_labels.push_back(L("Lightning")); + def->enum_labels.push_back(L("Honeycomb")); def->enum_labels.push_back(L("Hollow")); def->mode = comAdvanced; def->set_default_value(new ConfigOptionEnum(smpDefault)); @@ -5327,10 +5327,10 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("The pattern that will be used when ironing."); def->category = L("Support"); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); + def->enum_values.push_back("rectilinear"); def->enum_values.push_back("concentric"); - def->enum_values.push_back("zig-zag"); - def->enum_labels.push_back(L("Concentric")); def->enum_labels.push_back(L("Rectilinear")); + def->enum_labels.push_back(L("Concentric")); def->mode = comAdvanced; def->set_default_value(new ConfigOptionEnum(ipRectilinear)); @@ -6835,6 +6835,8 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va opt_key = "counterbore_hole_bridging"; } else if (opt_key == "draft_shield" && value == "limited") { value = "disabled"; + } else if (opt_key == "sparse_infill_pattern" && value == "zig-zag") { + value = "rectilinear"; } // Ignore the following obsolete configuration keys: diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index f09a1b5e49..4a1f5fb420 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -58,9 +58,14 @@ enum AuthorizationType { }; enum InfillPattern : int { - ipConcentric, ipRectilinear, ipGrid, ip2DLattice, ipLine, ipCubic, ipTriangles, ipStars, ipGyroid, ipTpmsD, ipHoneycomb, ipAdaptiveCubic, ipMonotonic, ipMonotonicLine, ipAlignedRectilinear, ip2DHoneycomb, ip3DHoneycomb, - ipHilbertCurve, ipArchimedeanChords, ipOctagramSpiral, ipSupportCubic, ipSupportBase, ipConcentricInternal, - ipLightning, ipCrossHatch, ipQuarterCubic, ipZigZag, ipCrossZag, ipLockedZag, + ipRectilinear, ipAlignedRectilinear, ipZigZag, ipCrossZag, ipLockedZag, + ipLine, ipGrid, ipMonotonic, ipMonotonicLine, + ipTriangles, ipStars, + ipCubic, ipAdaptiveCubic, ipQuarterCubic, ipSupportCubic, ipLightning, + ipHoneycomb, ip3DHoneycomb, ip2DHoneycomb, ip2DLattice, + ipCrossHatch, ipTpmsD, ipGyroid, + ipConcentric, ipHilbertCurve, ipArchimedeanChords, ipOctagramSpiral, + ipSupportBase, ipConcentricInternal, ipCount, };