mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-20 11:53:48 +00:00
Wiki Update 10 - Quality (#10301)
* Update quality_settings_wall_generator.md * Expand layer height wiki * Rework height * Update quality_settings_line_width.md * Update quality_settings_precision.md * Update quality_settings_seam.md * Minor linking * Update quality_settings_wall_and_surfaces.md * Reverse on odd improved * Extra perimeter on overhangs * Images fixes * Update speed_settings_jerk_xy.md * quality_settings_ironing * Update quality_settings_seam.md * Update quality_settings_bridging.md * Remove precision sub-section links * Add icons to settings links in Home documentation * Moved fuzzy skin Remove Fuzzy Skin section from special mode settings to it's own place. * Fix image adaptive-pressure-advance-calib.md * Update image references Standardized image alt text and filenames for consistency and clarity. * Update image alt text and file references in docs Standardized and clarified image alt text in Calibration.md for easy md to html conversion. * Update seam * Base scarf joint seam * Update quality_settings_seam.md * Update quality_settings_wall_generator.md * Update quality_settings_overhangs.md * Fuzzy Skin Generator Mode Wiki Co-Authored-By: π² <189209038+pi-squared-studio@users.noreply.github.com> * Infill Templates Wiki Co-Authored-By: π² <189209038+pi-squared-studio@users.noreply.github.com> * basic md formating * Update infill and advanced strength settings docs * Moved + Linked Metalanguage * image preview (change befor ready) * Update strength_settings_infill_rotation_template_metalanguage.md * reorder image description * Some credits * Spelling infill rotation metalanguage docs * Crop metalanguage fills * fix image reference * Update strength_settings_infill_rotation_template_metalanguage.md * Update strength_settings_infill_rotation_template_metalanguage.md * standard characters images * flow rate update division * Update Tab.cpp * Reworking flow rate calibration guide * Update strength_settings_top_bottom_shells.md * Flow Calib WIP --------- Co-authored-by: π² <189209038+pi-squared-studio@users.noreply.github.com> Co-authored-by: pi-squared-studio <pi.squared.studio@gmail.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
# Strength Advanced
|
||||
|
||||
- [Align infill direction to model](#align-infill-direction-to-model)
|
||||
- [Bridge infill direction](#bridge-infill-direction)
|
||||
- [Minimum sparse infill threshold](#minimum-sparse-infill-threshold)
|
||||
- [Infill Combination](#infill-combination)
|
||||
@@ -7,6 +8,10 @@
|
||||
- [Detect narrow internal solid infill](#detect-narrow-internal-solid-infill)
|
||||
- [Ensure vertical shell thickness](#ensure-vertical-shell-thickness)
|
||||
|
||||
## Align infill direction to model
|
||||
|
||||
Aligns infill and surface fill directions to follow the model's orientation on the build plate. When enabled, fill directions rotate with the model to maintain optimal strength characteristics.
|
||||
|
||||
## Bridge infill direction
|
||||
|
||||
Bridging angle override. If left to zero, the bridging angle will be calculated automatically. Otherwise the provided angle will be used for bridges. Use 180° for zero angle.
|
||||
|
||||
@@ -10,6 +10,7 @@ Infill is the internal structure of a 3D print, providing strength and support.
|
||||
- [Rotation](#rotation)
|
||||
- [Infill Wall Overlap](#infill-wall-overlap)
|
||||
- [Apply gap fill](#apply-gap-fill)
|
||||
- [Filter out tiny gaps](#filter-out-tiny-gaps)
|
||||
- [Anchor](#anchor)
|
||||
- [Internal Solid Infill](#internal-solid-infill)
|
||||
- [Sparse Infill Pattern](#sparse-infill-pattern)
|
||||
@@ -38,6 +39,7 @@ Infill is the internal structure of a 3D print, providing strength and support.
|
||||
- [Hilbert Curve](#hilbert-curve)
|
||||
- [Archimedean Chords](#archimedean-chords)
|
||||
- [Octagram Spiral](#octagram-spiral)
|
||||
- [Credits](#credits)
|
||||
|
||||
## Sparse infill density
|
||||
|
||||
@@ -84,13 +86,17 @@ This setting allows you to generate your selected [infill pattern](#sparse-infil
|
||||
|
||||
## Direction and Rotation
|
||||
|
||||
> [!TIP]
|
||||
> You can use [Template Metalanguage for infill rotation](strength_settings_infill_rotation_template_metalanguage) to create more complex patterns.
|
||||
|
||||
### Direction
|
||||
|
||||
Controls the direction of the infill lines to optimize or strengthen the print.
|
||||
|
||||
### Rotation
|
||||
|
||||
This parameter adds a rotation to the sparse infill direction for each layer according to the specified template. The template is a comma-separated list of angles in degrees.
|
||||
This parameter adds a rotation to the sparse infill direction for each layer according to the specified template.
|
||||
The template is a comma-separated list of angles in degrees.
|
||||
|
||||
For example:
|
||||
|
||||
@@ -110,8 +116,10 @@ Other examples:
|
||||
0,60,120,180
|
||||
```
|
||||
|
||||
If there are more layers than angles, the sequence repeats.
|
||||
> [!NOTE]
|
||||
> If there are more layers than angles, the sequence repeats.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Not all sparse infill patterns support rotation.
|
||||
|
||||
## Infill Wall Overlap
|
||||
@@ -141,6 +149,10 @@ If you would like all gap fill, including the classic perimeter generated one, r
|
||||
|
||||
However this is not advised, as gap fill between perimeters is contributing to the model's strength. For models where excessive gap fill is generated between perimeters, a better option would be to switch to the [arachne wall generator](quality_settings_wall_generator#arachne) and use this option to control whether the cosmetic top and bottom surface gap fill is generated.
|
||||
|
||||
## Filter out tiny gaps
|
||||
|
||||
Don't print gap fill with a length is smaller than the threshold specified (in mm). This setting applies to top, bottom and solid infill and, if using the classic perimeter generator, to wall gap fill.
|
||||
|
||||
## Anchor
|
||||
|
||||
Connect an infill line to an internal perimeter with a short segment of an additional perimeter. If expressed as percentage (example: 15%) it is calculated over infill extrusion width.
|
||||
@@ -525,3 +537,8 @@ Esthetic pattern with low strength and high print time.
|
||||
- **Material/Time (Higher better):** Normal-Low
|
||||
|
||||

|
||||
|
||||
## Credits
|
||||
|
||||
- **[Fill Multiline](#fill-multiline) implementation** - [@RF47](https://github.com/RF47)
|
||||
- **Wiki page:** [IanAlexis](https://github.com/IanAlexis).
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
# Infill rotation template metalanguage
|
||||
|
||||
This metalanguage provides a way to define the [direction and rotation](strength_settings_infill#direction-and-rotation) of patterns in 3D printing.
|
||||
|
||||
- [Basic instructions](#basic-instructions)
|
||||
- [Defined angle](#defined-angle)
|
||||
- [Runtime instructions](#runtime-instructions)
|
||||
- [Solid sign](#solid-sign)
|
||||
- [Joint sign](#joint-sign)
|
||||
- [Counting](#counting)
|
||||
- [Length modifier](#length-modifier)
|
||||
- [Description of instructions and examples](#description-of-instructions-and-examples)
|
||||
- [Simple absolute instructions](#simple-absolute-instructions)
|
||||
- [Relative instructions](#relative-instructions)
|
||||
- [Repetitive, adjusting and one-time instructions](#repetitive-adjusting-and-one-time-instructions)
|
||||
- [Range instructions](#range-instructions)
|
||||
- [Constant layer number instructions](#constant-layer-number-instructions)
|
||||
- [Solid layers into sparse infill instructions](#solid-layers-into-sparse-infill-instructions)
|
||||
- [Complex template examples](#complex-template-examples)
|
||||
- [Credits](#credits)
|
||||
|
||||
## Basic instructions
|
||||
|
||||
`[±]α[*ℤ or !][solid or joint sign, or its combinations][-][ℕ, B or T][length modifier][* or !]` - full length template instruction for the **sparse** infill
|
||||
|
||||
`[±]α[*ℤ or !][joint sign][-][ℕ][* or !]` - full length template instruction for the **solid** infill
|
||||
|
||||
`[±]α*` - just setting an initial rotation angle
|
||||
|
||||
`[solid or joint sign]ℕ[!]` - putting the solid layers ℕ times without them rotating
|
||||
|
||||
`[B or T][!]` - putting the solid layers according to the number of bottom or top shell layers without them rotating
|
||||
|
||||
> [!NOTE]
|
||||
> `[...]` - values in square brackets are optional
|
||||
|
||||
### Defined angle
|
||||
|
||||
`[±]α` - command for setting rotation infill angle (for joint infills at some height range, this angle is finite):
|
||||
|
||||
- `α:β` - set the angle α value as a percentage of the full 360 degree rotation
|
||||
- `+α` - set positive relative angle CCW
|
||||
- `-α` - set negative relative angle CW
|
||||
|
||||
### Runtime instructions
|
||||
|
||||
`[*, *ℤ or !]` - runtime instructions:
|
||||
|
||||
- `*` - the mark of "dummy" instruction. It's needed for setting an initial angle. No further action will be taken
|
||||
- `*ℤ` - repeat the instruction ℤ times
|
||||
- `!` - the one-time running instruction
|
||||
|
||||
### Solid sign
|
||||
|
||||
`[solid sign]` - the mark for inserting a solid layer:
|
||||
|
||||
- `D` - insert native sparse patterned layer but with 100% density
|
||||
- `S` - insert user-defined solid layer
|
||||
- `O` - insert Concentric solid layer
|
||||
- `M` - insert Monotonic solid layer
|
||||
- `R` - insert Rectilinear solid layer
|
||||
|
||||
### Joint sign
|
||||
|
||||
`[joint sign]` - the symbol which determines the method of connection for turning of the infill:
|
||||
|
||||
- `/` - linear displacement of the infill. e.g. `+22.5/50%`
|
||||

|
||||
- `#` - infill of multiple layers with vertical displacement at finish angle. e.g. `+22.5#50%`
|
||||

|
||||
- `#-` - infill of multiple layers with vertical displacement at initial angle. e.g. `+22.5#-50%`
|
||||

|
||||
- `|` - infill of multiple layers with vertical displacement at middle angle. e.g. `+22.5|50%`
|
||||

|
||||
- `N` - infill formed by sinus function (vertical connection). e.g. `+22.5N50%`
|
||||

|
||||
- `n` - infill formed by sinus function (vertical connection, lazy). e.g. `+22.5n50%`
|
||||

|
||||
- `Z` - infill formed by sinus function (horizontal connection). e.g. `+22.5Z50%`
|
||||

|
||||
- `z` - infill formed by sinus function (horizontal connection, lazy). e.g. `+22.5z50%`
|
||||

|
||||
- `L` - infill formed by quarter of circle (horizontal to vertical connection). e.g. `+22.5L50%`
|
||||

|
||||
- `l` - infill formed by quarter of circle (vertical to horizontal connection). e.g. `+22.5l50%`
|
||||

|
||||
- `U` - infill formed by squared function. e.g. `+22.5U50%`
|
||||

|
||||
- `u-` - infill formed by squared function (inverse). e.g. `+22.5u-50%`
|
||||

|
||||
- `Q` - infill formed by cubic function. e.g. `+22.5Q50%`
|
||||

|
||||
- `q-` - infill formed by cubic function (inverse). e.g. `+22.5q-50%`
|
||||

|
||||
- `$` - infill formed by arcsinus method. e.g. `+22.5$50%`
|
||||

|
||||
- `~` - infill formed with random angle. e.g. `+22.5~50%`
|
||||

|
||||
- `^` - infill formed with pseudorandom angle. e.g. `+22.5^50%`
|
||||

|
||||
|
||||
### Counting
|
||||
|
||||
`[-]ℕ` - counting the distance at which the turn will take place:
|
||||
|
||||
- `ℕ` - the count will take place by ℕ layers. e.g. `+22.5/50%`
|
||||

|
||||
- `-ℕ` - indicates that the joint form will be flipped upward. e.g. `+22.5/-50%`
|
||||

|
||||
- `B` - the count will take place over the next layers equal to the bottom_shell_layers parameter
|
||||
- `T` - the count will take place over the next layers equal to the top_shell_layers parameter
|
||||
|
||||
### Length modifier
|
||||
|
||||
`ℕ[length modifier]` - the distance at which the specified turn will take place:
|
||||
|
||||
- `ℕmm` - the distance in millimeters
|
||||
- `ℕcm` - the distance in centimeters
|
||||
- `ℕm` - the distance in meters
|
||||
- `ℕ'` - the distance in feet
|
||||
- `ℕ"` - the distance in inches
|
||||
- `ℕ#` - the distance in range of standard height of ℕ layers
|
||||
- `ℕ%` - the distance as a percentage of model height
|
||||
|
||||
## Description of instructions and examples
|
||||
|
||||
Each instruction is written by a combination of symbols and numbers and separated by a comma or a space.
|
||||
For more complex instructions, autoformatting is used to make the template easier to read.
|
||||
|
||||
> [!NOTE]
|
||||
> All examples are shown with a 5% density rectilinear infill on a model of a cube 20x20x20mm which has 100 layers of 0.2mm thickness. Without walls and upper and lower shells. Initial angle is 0.
|
||||
|
||||
### Simple absolute instructions
|
||||
|
||||
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 sparse or solid 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` as well as `+0`, `-0` or just empty template
|
||||

|
||||
- `45`
|
||||

|
||||
- `0, 30` - is a simple alternation through each layer in the direction of 0 and 30 degrees.
|
||||

|
||||
- `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.
|
||||
- `25%` - the equivalent of `90` instruction.
|
||||

|
||||
- `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.
|
||||
|
||||
### Relative instructions
|
||||
|
||||
- `+30` - this is a short instruction for counterclockwise rotation. The equivalent of `30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 0` or `30, 60, 90, 120, 150, 0` instruction.
|
||||

|
||||
- `-30` - this is the same instruction, but with clockwise rotation. The equivalent of `330, 300, 270, 240, 210, 180, 150, 120, 90, 60, 30, 0` or `330, 300, 270, 240, 210, 0` instruction.
|
||||
- `+150` - you can specify a different multiple of the irrational angle for better fill dispersion = `150, 300, 90, 240, 30, 180, 330, 120, 270, 60, 210, 0` ...
|
||||
- `+45` - The equivalent of `45, 90, 135, 180, 225, 270, 315, 0` or `45, 90, 135, 0` instruction.
|
||||

|
||||
- `+90` - The equivalent of `90, 180, 270, 0` or `90, 0` instruction.
|
||||

|
||||
- `+15%` - useful for dividing angles on a decimal basis = `54, 108, 162, 270, 324, 18, 72, 126, 180, 234, 288, 342, 36, 90, 144, 196, 252, 306, 0` ...
|
||||
- `+30, +90` - a complex instruction setting the rotation of each layer in these positions = `30, 120, 150, 240, 270, 0` ...
|
||||

|
||||
- `0, +30, +90` - a complex instruction setting the rotation of each layer in these positions = `0, 30, 120` ...
|
||||

|
||||
|
||||
### Repetitive, adjusting and one-time instructions
|
||||
|
||||
- `5, 10, +20` - simple instructions without modifiers. Sets the angles in sequence = 5, 10, 30, 5, 10, 30, 5, 10 ...
|
||||
- `5, 10*, +20` - the `*` sign sets the initial angle without quantitative designation and without layer processing. It is useful for setting the orientation of a group of layers, which will be described below. Sets the angles in sequence = 5, 30, 5, 30, 5, 30, 5 ...
|
||||
- `5, 10!, +20` - the `!` sign indicates that the instruction will be executed only once for the entire height of the model. Sets the angles in sequence = 5, 10, 30, 5, 25, 5, 25, 5 ...
|
||||
- `5, 10*!, +20` - the combination of `*` and `!` signs is also usable = 5, 30, 5, 25, 5, 25, 5, 25 ...
|
||||
- `5, 10*3, +20` - if a number is written after the `*` sign, it indicates the number of repetitions of this instruction. Sets the angles in sequence = 5, 10, 10, 10, 30, 5, 10, 10, 10, 30, 5, 10 ...
|
||||
|
||||
### Range instructions
|
||||
|
||||
A combined set of layers will be organized, where the rotation of one layer relative to the other will also be predetermined.
|
||||
You can specify how many layers will be rotated by a certain angle, and according to which mathematical law this rotation will be performed. This law is determined by writing a certain symbol and specifying a numeric value after it.
|
||||
The following signs are available that determine the shape of the turn: `/` `#` `#-` `|` `N` `n` `Z` `z` `L` `l` `U` `u` `Q` `q` `$` `~` `^`. For their purpose, see [joint sign](#joint-sign).
|
||||
|
||||
Also, after the numeric value there is a range modifier, then this rotation will occur according to the described length.
|
||||
The following modifiers are available that determine the range of turn: `mm` `cm` `m` `'` `"` `#` `%`. For their purpose, see [length modifier](#length-modifier).
|
||||
|
||||
If there is a `-` sign before the numeric value, then the initial fill angle changes with the final one. This is useful for joining the linear infills in some cases. Absolute values of the rotation angle using the range instructions have no effect.
|
||||
It is important to know that this will not be the exact length, but will be tied to the nearest layer from below.
|
||||
|
||||
- `+45/100` - rotate the next 100 layers linearly at a 45 degree angle. For this model, this instruction is equivalent to `+45/100%` as it contains 100 layers.
|
||||

|
||||
- When changing the height of the instruction `+45/50` or `+45/50%` - the final angle will be 90, as the turn will occur twice.
|
||||

|
||||
- `-50%Z1cm` - rotate one centimeter of infill by sinus function at a 180 degree CW.
|
||||
|
||||
### Constant layer number instructions
|
||||
|
||||
There are 2 letter signs `T` and `B` that can determine the number of shell layers on the top and bottom of the model. It is useful for calculating skipping this amount to align the fill, or inserting the required number of horizontal solid bulkheads.
|
||||
|
||||
- `B!, +30` - skip the first shell layers from rotation, then fill with 30 degree turn each layer
|
||||
- `+30/1cm, T` - rotate one centimeter of infill linearly at a 30 degree angle, then skip the number of layers equal to the count of the upper shell layers without rotation.
|
||||
|
||||
### Solid layers into sparse infill instructions
|
||||
|
||||
The following instructions allow you to embed solid layers in a sparse fill. The following commands are available `D` `S` `O` `M` `R`. For their purpose, see [solid sign](#solid-sign).
|
||||
|
||||
It is possible to combine them with the rotation method and layer number constant - `DT` `S/` `M#` `OB`...
|
||||
|
||||
- `#14, +15R` - put 14 layers of sparse infill then put one rectilinear layer of solid infill with 15 degree turn
|
||||

|
||||
- `B!, 240M3, #25` - skip the first shell layers from rotation, fill model with 3 solid monotonic layers at 240 degrees, then put 25 sparse layers at the same angle
|
||||
- `+30/1cm, ST` - rotate one centimeter of infill linearly at 30 degrees, then put solid layers equal to the count of the top shell layers
|
||||
- `+30M3` or `+90M/3` - fill whole model with solid infill with 30 degree turn at each layer
|
||||
|
||||
## Complex template examples
|
||||
|
||||
- `+10L25%, -10l25%, -10L25%, +10l25%` - fill the model with sine period with 10 degree amplitude
|
||||

|
||||
- `+30/-10#` - rotate the infill at height of 10 standard layers (or @ standard layer height is 0.2mm x 10 = 2mm) inverse linearly at a 30 degree angle.
|
||||

|
||||
- `+360~100%` or `+100%~100%` - fill the model with infill with random direction at each layer.
|
||||

|
||||
|
||||
## Credits
|
||||
|
||||
- **Feature author:** [@pi-squared-studio](https://github.com/pi-squared-studio).
|
||||
@@ -24,14 +24,14 @@ Top solid infill area is enlarged slightly to overlap with wall for better bondi
|
||||
|
||||
This setting controls the pattern of the surface. The options are:
|
||||
|
||||
- **Concentric:** Fills the surface with inward-tracing loops that follow the outer contour.
|
||||
- **Rectilinear:** Fills the surface with straight lines alternating direction per layer.
|
||||
- **[Concentric](strength_settings_infill#concentric):** Fills the surface with inward-tracing loops that follow the outer contour.
|
||||
- **[Rectilinear](strength_settings_infill#rectilinear):** Fills the surface with straight lines alternating direction per layer.
|
||||
- **Monotonic:** Prints lines in a uniform direction for a smoother visual surface.
|
||||
- **Monotonic Lines:** Similar to Monotonic but avoids overlapping with the perimeter, reducing excess material at joints. May introduce visible seams.
|
||||
- **Aligned Rectilinear:** The surface is printed with rectilinear lines that are aligned with the infill pattern.
|
||||
- **Hilbert Curve:** Applies a space-filling curve for even material distribution and a unique appearance. Slow to print but useful in esthetic applications.
|
||||
- **Archimedean Chords:** Generates concentric arc-like lines, promoting uniform material spread.
|
||||
- **Octagram Spiral:** Creates an octagonal spiral for decorative, esthetic surfaces.
|
||||
- **[Aligned Rectilinear](strength_settings_infill#aligned-rectilinear):** The surface is printed with rectilinear lines that are aligned with the infill pattern.
|
||||
- **[Hilbert Curve](strength_settings_infill#hilbert-curve):** Applies a space-filling curve for even material distribution and a unique appearance. Slow to print but useful in esthetic applications.
|
||||
- **[Archimedean Chords](strength_settings_infill#archimedean-chords):** Generates concentric arc-like lines, promoting uniform material spread.
|
||||
- **[Octagram Spiral](strength_settings_infill#octagram-spiral):** Creates an octagonal spiral for decorative, esthetic surfaces.
|
||||
|
||||
> [!NOTE]
|
||||
> Some patterns may have further information in its [Sparse Infill Pattern Wiki](strength_settings_infill#sparse-infill-pattern)
|
||||
|
||||
Reference in New Issue
Block a user