[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml)
- Orca Slicer is an open source slicer for FDM printers.
-## Follow Us
-Stay connected with us:
+Orca Slicer is an open source Next-Gen Slicing Software for Precision 3D Prints.
+Optimize your prints with ultra-fast slicing, intelligent support generation, and seamless printer compatibility—engineered for perfection.
-[](https://twitter.com/real_OrcaSlicer)
+## Official links and community
-Join our Discord community here:
-
-
-
🚨🚨🚨Important Security Alert🚨🚨🚨
+#### Official Website:
+orcaslicer.com
-The only official platforms for OrcaSlicer are **our GitHub project page**, **orcaslicer.com**, the **official Discord channel**, and the **official Twitter/X account**.
+#### Github Repository:
+
-Please be aware that "**orcaslicer.net**", "**orcaslicer.co**" or "**orca-slicer.com**" are NOT an official website for OrcaSlicer and may be potentially malicious. These sites appear to use AI-generated content, lacking genuine context and seems to exist solely to profit from advertisements. Worse, it may redirect download links to harmful sources. For your safety, avoid downloading OrcaSlicer from this site as the links may be compromised.
+#### Follow us:
+
-If you see the above sites in your searches, report them as spam or unsafe to the search engine. This small action will assist everyone.
+#### Join our Discord community:
+
-We deeply value our OrcaSlicer community and appreciate all the social groups that support us. However, it is crucial to address the risk posed by any group that falsely claims to be official or misleads its members. If you encounter such a group or are part of one, please assist by encouraging the group owner to add a clear disclaimer or by alerting its members.
-
-
-
-Thank you for your vigilance and support in keeping our community safe!
+> [!CAUTION]
+> There are multiple unofficial and potentially malicious websites pretending to be related to OrcaSlicer. These sites may redirect you to dangerous downloads or contain misleading information.
+>
+> If you come across any of these in search results, please report them as unsafe or spam to help keep the community secure.
# Main features
-- Auto-calibration for all printers
-- Sandwich (inner-outer-inner) mode - An improved version of the `External Perimeters First` mode
-- [Precise wall](https://github.com/SoftFever/OrcaSlicer/wiki/Precise-wall)
-- Polyholes conversion support: [SuperSlicer Wiki: Polyholes](https://github.com/supermerill/SuperSlicer/wiki/Polyholes)
-- Klipper support
-- More granular controls
-- Additional features can be found in the [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
+
+- **[Advanced Calibration Tools](https://github.com/SoftFever/OrcaSlicer/wiki/Calibration)**
+ Comprehensive suite: temperature towers, flow rate, retraction & more for optimal performance.
+- **[Precise Wall](https://github.com/SoftFever/OrcaSlicer/wiki/Precise-wall) and [Seam Control](https://github.com/SoftFever/OrcaSlicer/wiki/quality_settings_seam)**
+ Adjust outer wall spacing and apply scarf seams to enhance print accuracy.
+- **Sandwich Mode and [SuperSlicer Polyholes](https://github.com/supermerill/SuperSlicer/wiki/Polyholes) Support**
+ Use varied infill patterns and accurate hole shapes for improved clarity.
+- **Overhang and Support Optimization**
+ Modify geometry for printable overhangs with precise support placement.
+- **Granular Controls and Customization**
+ Fine-tune print speed, layer height, pressure, and temperature with precision.
+- **Network Printer Support**
+ Seamless integration with Klipper, PrusaLink, and OctoPrint for remote control.
+- **Mouse Ear Brims & Adaptive Bed Mesh**
+ Automatic brims and adaptive mesh calibration ensure consistent adhesion.
+- **User-Friendly Interface**
+ Intuitive drag-and-drop design with pre-made profiles for popular printers.
+- **Open-Source & Community Driven**
+ Regular updates fueled by continuous community contributions.
+- **Wide Printer Compatibility**
+ Supports a broad range of printers: Bambu Lab, Prusa, Creality, Voron, and more.
+- Additional features can be found in the [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
# Wiki
+
The wiki below aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
Please note that the wiki is a work in progress. We appreciate your patience as we continue to develop and improve it!
-**[Access the wiki here](https://github.com/SoftFever/OrcaSlicer/wiki)**
+**[Access the wiki here](https://github.com/SoftFever/OrcaSlicer/wiki)**
+**[Contribute to the wiki](https://github.com/SoftFever/OrcaSlicer/wiki/How-to-wiki)**
# Download
-### Stable Release
+## Stable Release
📥 **[Download the Latest Stable Release](https://github.com/SoftFever/OrcaSlicer/releases/latest)**
Visit our GitHub Releases page for the latest stable version of Orca Slicer, recommended for most users.
-### Nightly Builds
+## Nightly Builds
🌙 **[Download the Latest Nightly Build](https://github.com/SoftFever/OrcaSlicer/releases/tag/nightly-builds)**
Explore the latest developments in Orca Slicer with our nightly builds. Feedback on these versions is highly appreciated.
# How to install
-**Windows**:
-1. Download the installer for your preferred version from the [releases page](https://github.com/SoftFever/OrcaSlicer/releases).
- - *For convenience there is also a portable build available.*
- - *If you have troubles to run the build, you might need to install following runtimes:*
- - [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
- - [Details of this runtime](https://aka.ms/webview2)
- - [Alternative Download Link Hosted by Microsoft](https://go.microsoft.com/fwlink/p/?LinkId=2124703)
- - [vcredist2019_x64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
- - [Alternative Download Link Hosted by Microsoft](https://aka.ms/vs/17/release/vc_redist.x64.exe)
- - This file may already be available on your computer if you've installed visual studio. Check the following location: `%VCINSTALLDIR%Redist\MSVC\v142`
+## Windows
+Download the **Windows Installer exe** for your preferred version from the [releases page](https://github.com/SoftFever/OrcaSlicer/releases).
+
+ - *For convenience there is also a portable build available.*
+
+ Troubleshooting
+
+ - *If you have troubles to run the build, you might need to install following runtimes:*
+ - [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
+ - [Details of this runtime](https://aka.ms/webview2)
+ - [Alternative Download Link Hosted by Microsoft](https://go.microsoft.com/fwlink/p/?LinkId=2124703)
+ - [vcredist2019_x64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
+ - [Alternative Download Link Hosted by Microsoft](https://aka.ms/vs/17/release/vc_redist.x64.exe)
+ - This file may already be available on your computer if you've installed visual studio. Check the following location: `%VCINSTALLDIR%Redist\MSVC\v142`
+
+
+Windows Package Manager:
+```shell
+winget install --id=SoftFever.OrcaSlicer --e
+```
+
+## Mac:
+1. Download the DMG for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
+2. Drag OrcaSlicer.app to Application folder.
+3. *If you want to run a build from a PR, you also need to follow the instructions below:*
+
+ Quarantine
-**Mac**:
-1. Download the DMG for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
-2. Drag OrcaSlicer.app to Application folder.
-3. *If you want to run a build from a PR, you also need to follow the instructions below:*
-
- Option 1 (You only need to do this once. After that the app can be opened normally.):
- Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**.
- - Step 2: A warning window will pop up, click _Open_
-
- - Option 2:
- Execute this command in terminal: `xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app`
- ```console
- softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
+ - Step 2: A warning window will pop up, click _Open_
+
+ - Option 2:
+ Execute this command in terminal:
+ ```shell
+ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app`
```
- - Option 3:
+ - Option 3:
- Step 1: open the app, a warning window will pop up
- 
- - Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`:
- 
+ 
+ - Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`:
+ 
-
-**Linux (Ubuntu)**:
- 1. If you run into trouble executing it, try this command in the terminal:
+
+## Linux (Ubuntu):
+ 1. If you run into trouble executing it, try this command in the terminal:
`chmod +x /path_to_appimage/OrcaSlicer_Linux.AppImage`
-
-# How to compile
-- Windows 64-bit
- - Tools needed: Visual Studio 2019, Cmake, git, git-lfs, Strawberry Perl.
- - You will require cmake version 3.14 or later, which is available [on their website](https://cmake.org/download/).
- - Strawberry Perl is [available on their GitHub repository](https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/).
- - Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
- - Note: Don't forget to run `git lfs pull` after cloning the repository to download tools on Windows
-- Mac 64-bit
- - Tools needed: Xcode, Cmake, git, gettext, libtool, automake, autoconf, texinfo
- - You can install most of them by running `brew install cmake gettext libtool automake autoconf texinfo`
- - If you haven't since upgrading Xcode, start Xcode and install macOS build support.
- - run `build_release_macos.sh`
- - open `build_arm64/OrcaSlicer/OrcaSlicer.app`
- - To build and debug in Xcode:
- - run `Xcode.app`
- - open ``build_`arch`/OrcaSlicer.Xcodeproj``
- - menu bar: Product => Scheme => OrcaSlicer
- - menu bar: Product => Scheme => Edit Scheme...
- - Run => Info tab => Build Configuration: `RelWithDebInfo`
- - Run => Options tab => Document Versions: uncheck `Allow debugging when browsing versions`
- - menu bar: Product => Run
+# How to Compile
+All updated build instructions for Windows, macOS, and Linux are now available on the official [OrcaSlicer Wiki - How to build](https://github.com/SoftFever/OrcaSlicer/wiki/How-to-build) page.
-- Linux (All Distros)
- - Docker
- - Dependencies: Docker [Installation Instructions](https://www.docker.com/get-started/), git
- - clone this repository `git clone https://github.com/SoftFever/OrcaSlicer`
- - run `cd OrcaSlicer`
- - run `./DockerBuild.sh`
- - To run OrcaSlicer:
- - run `./DockerRun.sh`
- - For most common errors, open `DockerRun.sh` and read the comments.
- - Ubuntu
- - Dependencies **Will be auto installed with the shell script**: `libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git texinfo`
- - run 'sudo ./BuildLinux.sh -u'
- - run './BuildLinux.sh -dsi'
+Please refer to the wiki to ensure you're following the latest and most accurate steps for your platform.
-# Note:
+# Klipper Note:
If you're running Klipper, it's recommended to add the following configuration to your `printer.cfg` file.
-```
+```gcode
# Enable object exclusion
[exclude_object]
@@ -139,53 +134,49 @@ resolution: 0.1
```
# Supports
-**Orca Slicer** is an open-source project and I'm deeply grateful to all my sponsors and backers.
-Their generous support enables me to purchase filaments and other essential 3D printing materials for the project.
+**Orca Slicer** is an open-source project and I'm deeply grateful to all my sponsors and backers.
+Their generous support enables me to purchase filaments and other essential 3D printing materials for the project.
Thank you! :)
-### Sponsors:
+## Sponsors:
-### Backers:
-**Ko-fi supporters**: [Backers list](https://github.com/user-attachments/files/16147016/Supporters_638561417699952499.csv)
-
-## Support me
-
-
-
-
-[](https://paypal.me/softfever3d)
+## Backers:
+**Ko-fi supporters** ☕: [Backers list](https://github.com/user-attachments/files/16147016/Supporters_638561417699952499.csv)
+## Support me
+
+
+
## Some background
OrcaSlicer was originally forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
[Bambu Studio](https://github.com/bambulab/BambuStudio) is forked from [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
Orca Slicer incorporates a lot of features from [SuperSlicer](https://github.com/supermerill/SuperSlicer) by @supermerill
-Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr)
-
+Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr).
# License
-Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.
+**Orca Slicer** is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.
-Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.
+**Bambu Studio** is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.
-PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
+**PrusaSlicer** is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
-Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3r was created by Alessandro Ranellucci with the help of many other contributors.
+**Slic3r** is licensed under the GNU Affero General Public License, version 3. Slic3r was created by Alessandro Ranellucci with the help of many other contributors.
The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.
diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in
index 3de0ec036c..2f010c8a82 100644
--- a/cmake/modules/MacOSXBundleInfo.plist.in
+++ b/cmake/modules/MacOSXBundleInfo.plist.in
@@ -37,14 +37,6 @@
orcaslicer
-
-
- CFBundleURLName
- BambuStudio Downloads
- CFBundleURLSchemes
-
- bambustudioopen
- CFBundleDocumentTypes
diff --git a/doc/Auxiliary-fan.md b/doc/Auxiliary-fan.md
index 1177248d46..95d1ec0158 100644
--- a/doc/Auxiliary-fan.md
+++ b/doc/Auxiliary-fan.md
@@ -1,10 +1,14 @@
+# Auxiliary Fan
+
OrcaSlicer use `M106 P2` command to control auxiliary cooling fan.
-If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
-Below is a reference configuration for Klipper.
-*Note: Don't forget to change the pin name to the actual pin name you are using in the configuration*
+If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
+Below is a reference configuration for Klipper.
-```
+> [!NOTE]
+> Don't forget to change the pin name to the actual pin name you are using in the configuration
+
+```ini
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
@@ -31,5 +35,4 @@ gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
-
```
diff --git a/doc/Calibration.md b/doc/Calibration.md
deleted file mode 100644
index bf1556d671..0000000000
--- a/doc/Calibration.md
+++ /dev/null
@@ -1,343 +0,0 @@
-- [Flow rate](#flow-rate)
-- [Pressure Advance](#pressure-advance)
- - [Line method](#line-method)
- - [Pattern method](#pattern-method)
- - [Tower method](#tower-method)
-- [Temp tower](#temp-tower)
-- [Retraction test](#retraction-test)
-- [Orca Tolerance Test](#orca-tolerance-test)
-- [Advanced Calibration](#advanced-calibration)
- - [Max Volumetric speed](#max-volumetric-speed)
- - [Input Shaping](#input-shaping)
- - [Klipper](#klipper)
- - [Resonance Compensation](#resonance-compensation)
- - [Marlin](#marlin)
- - [ZV Input Shaping](#zv-input-shaping)
- - [Fixed-Time Motion](#fixed-time-motion)
- - [Junction Deviation](#junction-deviation)
- - [VFA](#vfa)
-
-> [!IMPORTANT]
-> After completing the calibration process, remember to create a new project in order to exit the calibration mode.
-
-# Flow rate
-> [!WARNING]
-> For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.
->
-> 
-
-> [!IMPORTANT]
-> PASS 1 and PASS 2 follow the older flow ratio formula `FlowRatio_old*(100 + modifier)/100`. YOLO (Recommended) and YOLO (perfectist version) use a new system that is very simple `FlowRatio_old±modifier`.
-
-
-
-Calibrating the flow rate involves a two-step process.
-Steps
-1. Select the printer, filament, and process you would like to use for the test.
-2. Select `Pass 1` in the `Calibration` menu
-3. A new project consisting of nine blocks will be created, each with a different flow rate modifier. Slice and print the project.
-4. Examine the blocks and determine which one has the smoothest top surface.
-
-
-
-5. Update the flow ratio in the filament settings using the following equation: `FlowRatio_old*(100 + modifier)/100`. If your previous flow ratio was `0.98` and you selected the block with a flow rate modifier of `+5`, the new value should be calculated as follows: `0.98x(100+5)/100 = 1.029`.** Remember** to save the filament profile.
-6. Perform the `Pass 2` calibration. This process is similar to `Pass 1`, but a new project with ten blocks will be generated. The flow rate modifiers for this project will range from `-9 to 0`.
-7. Repeat steps 4. and 5. In this case, if your previous flow ratio was 1.029 and you selected the block with a flow rate modifier of -6, the new value should be calculated as follows: `1.029x(100-6)/100 = 0.96726`. **Remember** to save the filament profile.
-
-
-
-
-
-# Pressure Advance
-
-Orca Slicer includes three approaches for calibrating the pressure advance value. Each method has its own advantages and disadvantages. It is important to note that each method has two versions: one for a direct drive extruder and one for a Bowden extruder. Make sure to select the appropriate version for your test.
-
-> [!WARNING]
-> For Marlin: Linear advance must be enabled in firmware (M900). **Not all printers have it enabled by default.**
-
-> [!WARNING]
-> For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option when printings.
->
-> 
-
-### Line method
-
-The line method is quick and straightforward to test. However, its accuracy highly depends on your first layer quality. It is suggested to turn on the bed mesh leveling for this test.
-Steps:
- 1. Select the printer, filament, and process you would like to use for the test.
- 2. Print the project and check the result. You can select the value of the most even line and update your PA value in the filament settings.
- 3. In this test, a PA value of `0.016` appears to be optimal.
-
-
-
-
-
-
-
-### Pattern method
-
-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 Orca Slicer differences to note.
-
-Test configuration window allow user to generate one or more tests in a single projects. Multiple tests will be placed on each plate with extra plates added if needed.
-
-1. Single test \
-
-2. Batch mode testing (multiple tests on a sinle plate) \
-
-
-Once test generated, one or more small rectangular prisms could be found on the plate, one for each test case. This object serves a few purposes:
-
-1. The test pattern itself is added in as custom G-Code at each layer, same as you could do by hand actually. The rectangular prism gives us 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**:
-
-2. The prism acts as a handle, enabling you to move the test pattern wherever you'd like on the plate by moving the prism
-3. Each test object is pre-configured with target parameters which are reflected in the objects name. However, test parameters may be adjusted for each prism individually by referring to the object list pane:
-
-
-Next, Ellis' generator provided the ability to adjust specific printer, filament, and print profile settings. You can make these same changes in Orca Slicer 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:
-
-1. 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
-2. In terms of line width, the pattern only makes use of the `Default` and `First layer` widths
-3. In terms of speed, the pattern only uses the `First layer speed -> First layer` and `Other layers speed -> Outer wall` speeds
-4. The infill pattern beneath the numbers cannot be changed becuase 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 so not processed through the usual channels that would enable Orca to recognize it as infill
-
-### Tower method
-
-The tower method may take a bit more time to complete, but it does not rely on the quality of the first layer.
-The PA value for this test will be increased by 0.002 for every 1 mm increase in height. (**NOTE** 0.02 for Bowden)
-Steps:
- 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.
- 3. I selected a height of 8 mm for this case, so the pressure advance value should be calculated as `PressureAdvanceStart+(PressureAdvanceStep x measured)` example: `0+(0.002 x 8) = 0.016`.
-
-
-
-
-# Temp tower
-
-Temp tower is a straightforward test. The temp tower is a vertical tower with multiple blocks, each printed at a different temperature. Once the print is complete, we can examine each block of the tower and determine the optimal temperature for the filament. The optimal temperature is the one that produces the highest quality print with the least amount of issues, such as stringing, layer adhesion, warping (overhang), and bridging.
-
-
-# Retraction test
-
-This test generates a retraction tower automatically. The retraction tower is a vertical structure with multiple notches, each printed at a different retraction length. After the print is complete, we can examine each section of the tower to determine the optimal retraction length for the filament. The optimal retraction length is the shortest one that produces the cleanest tower.
-
-In the dialog, you can select the start and end retraction length, as well as the retraction length increment step. The default values are 0mm for the start retraction length, 2mm for the end retraction length, and 0.1mm for the step. These values are suitable for most direct drive extruders. However, for Bowden extruders, you may want to increase the start and end retraction lengths to 1mm and 6mm, respectively, and set the step to 0.2mm.
-
-**Note**: When testing filaments such as PLA or ABS that have minimal oozing, the retraction settings can be highly effective. You may find that the retraction tower appears clean right from the start. In such situations, setting the retraction length to 0.2mm - 0.4mm using Orca Slicer should suffice.
-On the other hand, if there is still a lot of stringing at the top of the tower, it is recommended to dry your filament and ensure that your nozzle is properly installed without any leaks.
-
-
-# Orca Tolerance Test
-This tolerance test is specifically designed to assess the dimensional accuracy of your printer and filament. The model comprises a base and a hexagon tester. The base contains six hexagon hole, each with a different tolerance: 0.0mm, 0.05mm, 0.1mm, 0.2mm, 0.3mm, and 0.4mm. The dimensions of the hexagon tester are illustrated in the image.
-
-
-You can assess the tolerance using either an M6 Allen key or the printed hexagon tester.
-
-
-
-# Advanced Calibration
-
-## Max Volumetric speed
-This is a test designed to calibrate the maximum volumetric speed of the specific filament. The generic or 3rd party filament types may not have the correct volumetric flow rate set in the filament. This test will help you to find the maximum volumetric speed of the filament.
-
-You will be promted to enter the settings for the test: start volumetric speed, end volumentric speed, and step. It is recommended to use the default values (5mm³/s start, 20mm³/s end, with a step of 0.5), unless you already have an idea of the lower or upper limit for your filament. Select "OK", slice the plate, and send it to the printer.
-
-Once printed, take note of where the layers begin to fail and where the quality begins to suffer. Pay attention to changes from matte to shiny as well.
-
-
-
-Using calipers or a ruler, measure the height of the print at that point. Use the following calculation to determine the correct max flow value: `start + (height-measured * step)` . For example in the photo below, and using the default setting values, the print quality began to suffer at 19mm measured, so the calculation would be: `5 + (19 * 0.5)` , or `13mm³/s` using the default values. Enter your number into the "Max volumetric speed" value in the filament settings.
-
-
-
-You can also return to OrcaSlicer in the "Preview" tab, make sure the color scheme "flow" is selected. Scroll down to the layer height that you measured, and click on the toolhead slider. This will indicate the max flow level for your filmanet.
-
-
-
-> [!NOTE]
-> You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.
-
-## Input Shaping
-
-During high-speed movements, vibrations can cause a phenomenon called "ringing," where periodic ripples appear on the print surface. Input Shaping provides an effective solution by counteracting these vibrations, improving print quality and reducing wear on components without needing to significantly lower print speeds.
-
-### Klipper
-
-### Resonance Compensation
-
-The Klipper Resonance Compensation is a set of Input Shaping modes that can be used to reduce ringing and improve print quality.
-Ussualy the recommended values modes are ``MZV`` or ``EI`` for Delta printers.
-
-1. Pre-requisites:
- 1. In OrcaSlicer, set:
- 1. Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
- 2. Speed high enough to trigger ringing (e.g., 200 mm/s).
- > [!NOTE]
- > These settings depend on your printer's motion ability and the filament's max volumetric speed. If you can't reach speeds that cause ringing, try increasing the filament's max volumetric speed (avoid materials below 10 mm³/s).
- 3. Jerk [Klipper Square Corner Velocity](https://www.klipper3d.org/Kinematics.html?h=square+corner+velocity#look-ahead) to 5 or a high value (e.g., 20).
- 2. In printer settigs:
- 1. Set the Shaper Type to ``MZV`` or ``EI``.
- ```
- SET_INPUT_SHAPER SHAPER_TYPE=MZV
- ```
- 2. Disable [Minimun Cruise Ratio](https://www.klipper3d.org/Kinematics.html#minimum-cruise-ratio) with:
- ```
- SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0
- ```
- 3. Use an opaque, high-gloss filament to make the ringing more visible.
-2. Print the Input Shaping Frequency test with a range of frequencies.
-
- 
-
- 1. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
-
- 
- 
-
- 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.
-
- **Note**: There is a chance you will need to set higher than 60Hz frequencies. Some printers with very rigid frames and excellent mechanics may exhibit frequencies exceeding 100Hz.
-3. Print the Damping test setting your X and Y frequency to the value you found in the previous step.
-
- 
-
- 1. Measure the X and Y heights and read the damping set at that point in Orca Slicer.
-
- 
- 
-
- **Note**: Not all Resonance Compensation modes support damping
-4. Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.
-5. Save the settings
- 1. You need to go to the printer settings and set the X and Y frequency and damp to the value you found in the previous step.
-
-### Marlin
-
-#### ZV Input Shaping
-
-ZV Input Shaping introduces an anti-vibration signal into the stepper motion for the X and Y axes. It works by splitting the step count into two halves: the first at half the frequency and the second as an "echo," delayed by half the ringing interval. This simple approach effectively reduces vibrations, improving print quality and allowing for higher speeds.
-
-1. Pre-requisites:
- 1. In OrcaSlicer, set:
- 1. Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
- 2. Speed high enough to trigger ringing (e.g., 200 mm/s).
- > [!NOTE]
- > These settings depend on your printer's motion ability and the filament's max volumetric speed. If you can't reach speeds that cause ringing, try increasing the filament's max volumetric speed (avoid materials below 10 mm³/s).
- 4. Jerk
- 1. If using [Classic Jerk](https://marlinfw.org/docs/configuration/configuration.html#jerk-) use a high value (e.g., 20).
- 2. If using [Junction Deviation](https://marlinfw.org/docs/features/junction_deviation.html) (new Marlin default mode) this test will use 0.25 (high enough to most printers).
- 2. Use an opaque, high-gloss filament to make the ringing more visible.
-2. Print the Input Shaping Frequency test with a range of frequencies.
-
- 
-
- 1. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
-
- 
- 
-
- 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.
-
- **Note**: There is a chance you will need to set higher than 60Hz frequencies. Some printers with very rigid frames and excellent mechanics may exhibit frequencies exceeding 100Hz.
-3. Print the Damping test setting your X and Y frequency to the value you found in the previous step.
-
- 
-
- 1. Measure the X and Y heights and read the damping set at that point in Orca Slicer.
-
- 
- 
-
-4. Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.
- 1. Reboot your printer.
- 2. Use the following G-code to restore your printer settings:
- ```gcode
- M501
- ```
-5. Save the settings
- 1. You need to go to the printer settings and set the X and Y frequency and damp to the value you found in the previous step.
- 2. Use the following G-code to set the frequency:
- ```gcode
- M593 X F#Xfrequency D#XDamping
- M593 Y F#Yfrequency D#YDamping
- M500
- ```
- Example
- ```gcode
- M593 X F37.25 D0.16
- M593 Y F37.5 D0.06
- M500
- ```
-
-#### Fixed-Time Motion
-
-TODO This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information.
-
-### Junction Deviation
-
-Junction Deviation is the default method for controlling cornering speed in MarlinFW printers.
-Higher values result in more aggressive cornering speeds, while lower values produce smoother, more controlled cornering.
-The default value in Marlin is typically set to 0.08mm, which may be too high for some printers, potentially causing ringing. Consider lowering this value to reduce ringing, but avoid setting it too low, as this could lead to excessively slow cornering speeds.
-
-1. Pre-requisites:
- 1. Check if your printer has Junction Deviation enabled. You can do this by sending the command `M503` to your printer and looking for the line `Junction deviation: 0.25`.
- 2. In OrcaSlicer, set:
- 1. Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
- 2. Speed high enough to trigger ringing (e.g., 100 mm/s).
- 3. Use an opaque, high-gloss filament to make the ringing more visible.
-2. You need to print the Junction Deviation test.
-
- 
-
- 1. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
-
- 
- 
-
- 2. It’s very likely that you’ll need to set values lower than 0.08 mm, as shown in the previous example. To determine a more accurate maximum JD value, you can print a new calibration tower with a maximum value set at the point where the corners start losing sharpness.
- 3.
- 
-
- 4. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
-
- 
- 
-3. Save the settings
- 1. Set your Maximun Junction Deviation value in [Printer settings/Motion ability/Jerk limitation].
- 2. Use the following G-code to set the mm:
- ```gcode
- M205 J#JunctionDeviationValue
- M500
- ```
- Example
- ```gcode
- M205 J0.012
- M500
- ```
- 3. Recompile your MarlinFW
- 1. In Configuration.h uncomment and set:
- ```cpp
- #define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edge
- ```
- 2. Check Classic Jerk is disabled (commented).
- ```cpp
- //#define CLASSIC_JERK
- ```
-
-## VFA
-
-Vertical Fine Artifacts (VFA) are small artifacts that can occur on the surface of a 3D print, particularly in areas where there are sharp corners or changes in direction. These artifacts can be caused by a variety of factors, including mechanical vibrations, resonance, and other factors that can affect the quality of the print.
-Because of the nature of these artifacts the methods to reduce them can be mechanical such as changing motors, belts and pulleys or with advanced calibrations such as Jerk/[Juction Deviation](#junction-deviation) corrections or [Input Shaping](#input-shaping).
-
-
-***
-*Credits:*
-- *The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer).*
-- *The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html).*
-- *The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html).*
-- *The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076).*
-- *The max flowrate test was inspired by Stefan (CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure).*
-- *ZV Input Shaping is inspired by [Marlin Input Shaping](https://marlinfw.org/docs/features/input_shaping.html) and [Ringing Tower 3D STL](https://marlinfw.org/assets/stl/ringing_tower.stl).*
-- *ChatGPT* ;)
diff --git a/doc/Chamber-temperature.md b/doc/Chamber-temperature.md
index ea268532bf..52b81d7aa8 100644
--- a/doc/Chamber-temperature.md
+++ b/doc/Chamber-temperature.md
@@ -1,23 +1,38 @@
-OrcaSlicer use `M141/M191` command to control active chamber heater.
+# Chamber Temperature Control
-If `Activate temperature control` is checked, OrcaSlicer will insert `M191` command at the beginning of the gcode(before `Machine G-code`).
-
-*Note: If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.*
+OrcaSlicer use `M141/M191` command to control active chamber heater.
+
+If your Filament's `Activate temperature control` and your printer `Support control chamber temperature` option are checked , OrcaSlicer will insert `M191` command at the beginning of the gcode (before `Machine G-code`).
+
+
+
-There are two chamber temperature variables available that we can use in `Machine G-code` to control the chamber temperature, if you prefer:
-To access the chamber temperature set in the first filament, use:
-`M191 S{chamber_temperature[0]}`
-To use the overall chamber temperature, which is the highest chamber temperature set across all filaments, use:
-`M191 S{overall_chamber_temperature}`
+> [!NOTE]
+> If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.
+## Using Chamber Temperature Variables in Machine G-code
---------------------------Klipper--------------------------
-If you are using Klipper, you can define these macros to control the active chamber heater.
-Bellow is a reference configuration for Klipper.
-*Note: Don't forget to change the pin name/values to the actual values you are using in the configuration*
+You can use chamber temperature variables in your `Machine G-code` to control the chamber temperature manually, if desired:
-```
+- To set the chamber temperature to the value specified for the first filament:
+ ```gcode
+ M191 S{chamber_temperature[0]}
+ ```
+- To set the chamber temperature to the highest value specified across all filaments:
+ ```gcode
+ M191 S{overall_chamber_temperature}
+ ```
+
+## Klipper
+
+If you are using Klipper, you can define these macros to control the active chamber heater.
+Bellow is a reference configuration for Klipper.
+
+> [!IMPORTANT]
+> Don't forget to change the pin name/values to the actual values you are using in the configuration.
+
+```gcode
[heater_generic chamber_heater]
heater_pin:PB10
max_power:1.0
@@ -25,7 +40,7 @@ max_power:1.0
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:PA1
control = pid
-pid_Kp = 63.418
+pid_Kp = 63.418
pid_ki = 0.960
pid_kd = 1244.716
min_temp:0
@@ -48,5 +63,4 @@ gcode:
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
M117 Chamber at target temperature
{% endif %}
-
-```
\ No newline at end of file
+```
diff --git a/doc/Home.md b/doc/Home.md
index 6e98b91e1e..c0738b56dd 100644
--- a/doc/Home.md
+++ b/doc/Home.md
@@ -1,40 +1,68 @@
# Welcome to the OrcaSlicer WIKI!
-Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki page aims to provide an detailed explanation of the slicer settings, how to get the most out of them as well as how to calibrate and setup your printer.
+Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki page aims to provide an detailed explanation of the slicer settings, how to get the most out of them as well as how to calibrate and setup your printer.
-The Wiki is work in progress so bear with us while we get it up and running!
+- [Print Settings, Tips and Tricks](#print-settings-tips-and-tricks)
+ - [Quality Settings](#quality-settings)
+ - [Speed Settings](#speed-settings)
+ - [Multi material](#multi-material)
+ - [Printer Settings](#printer-settings)
+- [Printer Calibration](#printer-calibration)
+- [Developer Section](#developer-section)
+
+> [!NOTE]
+> The Wiki is **Work In Progress** so bear with us while we get it up and running!
+
+## Print Settings, Tips and Tricks
-## Print Settings, Tips and Tricks (Work In Progress)
The below sections provide a detailed settings explanation as well as tips and tricks in setting these for optimal print results.
### Quality Settings
+
- [Layer Height Settings](quality_settings_layer_height)
- [Line Width Settings](quality_settings_line_width)
- [Seam Settings](quality_settings_seam)
- [Precise wall](Precise-wall)
+- [Precise Z height](precise-z-height)
- [STL Transformation](stl-transformation)
### Speed Settings
+
- [Extrusion rate smoothing](extrusion-rate-smoothing)
### Multi material
+
- [Single Extruder Multimaterial](semm)
-### Printer Settings:
+### Printer Settings
+
- [Air filtration/Exhaust fan handling](air-filtration)
- [Auxiliary fan handling](Auxiliary-fan)
- [Chamber temperature control](chamber-temperature)
- [Adaptive Bed Mesh](adaptive-bed-mesh)
- [Using different bed types in Orca](bed-types)
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
+- [Fill Patterns](fill-patterns)
## Printer Calibration
-The guide below takes you through the key calibration tests in Orca - flow rate, pressure advance, print temperature, retraction, tolerances and maximum volumetric speed
-- [Calibration Guide](./Calibration)
-- [Adaptive Pressure Advance Guide](adaptive-pressure-advance)
+
+The [Calibration Guide](Calibration) outlines Orca’s key calibration tests and their suggested order of execution.
+
+- [Temperature](temp-calib)
+- [Flow Rate](flow-rate-calib)
+- [Pressure Advance](pressure-advance-calib)
+ - [Adaptive Pressure Advance Guide](adaptive-pressure-advance-calib)
+- [Retraction](retraction-calib)
+- [Tolerance](tolerance-calib)
+- Advanced:
+ - [Volumetric Speed](volumetric-speed-calib)
+ - [Cornering (Jerk & Junction Deviation)](cornering-calib)
+ - [Input Shaping](input-shaping-calib)
## Developer Section
-- [How to build Orca Slicer](./How-to-build)
+
+- [How to build Orca Slicer](How-to-build)
- [Localization and translation guide](Localization_guide)
-- [Developer Reference](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/Home.md)
-- [How to create profiles](./How-to-create-profiles)
\ No newline at end of file
+- [Developer Reference](Developers-Home)
+- [How to create profiles](How-to-create-profiles)
+- [How to contribute to the wiki](How-to-wiki)
diff --git a/doc/How-to-build.md b/doc/How-to-build.md
index a7c05b0f5d..49553c039e 100644
--- a/doc/How-to-build.md
+++ b/doc/How-to-build.md
@@ -1,11 +1,193 @@
-# How to compile
-- Windows 64-bit
- - Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl.
- - Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
+# How to Build
-- Mac 64-bit
- - Tools needed: Xcode, Cmake, git, gettext
- - run `build_release_macos.sh`
+## Windows 64-bit
-- Ubuntu
- - run `BuildLinux.sh -udisr`
\ No newline at end of file
+This guide is for building your Visual Studio 2022 solution for OrcaSlicer on Windows 64-bit.
+
+### Tools Required
+
+- [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) or Visual Studio 2019
+ ```shell
+ winget install --id=Microsoft.VisualStudio.2022.Professional -e
+ ```
+- [CMake (version 3.31)](https://cmake.org/) — **⚠️ version 3.31.x is mandatory**
+ ```shell
+ winget install --id=Kitware.CMake -v "3.31.6" -e
+ ```
+- [Strawberry Perl](https://strawberryperl.com/)
+ ```shell
+ winget install --id=StrawberryPerl.StrawberryPerl -e
+ ```
+- [Git](https://git-scm.com/)
+ ```shell
+ winget install --id=Git.Git -e
+ ```
+- [git-lfs](https://git-lfs.com/)
+ ```shell
+ winget install --id=GitHub.GitLFS -e
+ ```
+
+> [!TIP]
+> GitHub Desktop (optional): A GUI for Git and Git LFS, which already includes both tools.
+> ```shell
+> winget install --id=GitHub.GitHubDesktop -e
+> ```
+
+### Instructions
+
+1. Clone the repository:
+ - If using GitHub Desktop clone the repository from the GUI.
+ - If using the command line:
+ 1. Clone the repository:
+ ```shell
+ git clone https://github.com/SoftFever/OrcaSlicer
+ ```
+ 2. Run lfs to download tools on Windows:
+ ```shell
+ git lfs pull
+ ```
+2. Open the appropriate command prompt:
+ - For Visual Studio 2019:
+ Open **x64 Native Tools Command Prompt for VS 2019** and run:
+ ```shell
+ build_release.bat
+ ```
+ - For Visual Studio 2022:
+ Open **x64 Native Tools Command Prompt for VS 2022** and run:
+ ```shell
+ build_release_vs2022.bat
+ ```
+3. If successful, you will find the VS 2022 solution file in:
+ ```shell
+ build\OrcaSlicer.sln
+ ```
+
+> [!IMPORTANT]
+> Make sure that CMake version 3.31.x is actually being used. Run `cmake --version` and verify it returns a **3.31.x** version.
+> If you see an older version (e.g. 3.29), it's likely due to another copy in your system's PATH (e.g. from Strawberry Perl).
+> You can run where cmake to check the active paths and rearrange your System Environment Variables > PATH, ensuring the correct CMake (e.g. C:\Program Files\CMake\bin) appears before others like C:\Strawberry\c\bin.
+
+> [!NOTE]
+> If the build fails, try deleting the `build/` and `deps/build/` directories to clear any cached build data. Rebuilding after a clean-up is usually sufficient to resolve most issues.
+
+## macOS 64-bit
+
+### Tools Required
+
+- Xcode
+- CMake (version 3.31.x is mandatory)
+- Git
+- gettext
+- libtool
+- automake
+- autoconf
+- texinfo
+
+> [!TIP]
+> You can install most of them by running:
+> ```shell
+> brew install gettext libtool automake autoconf texinfo
+> ```
+
+Homebrew currently only offers the latest version of CMake (e.g. **4.X**), which is not compatible. To install the required version **3.31.X**, follow these steps:
+
+1. Download CMake **3.31.7** from: [https://cmake.org/download/](https://cmake.org/download/)
+2. Install the application (drag it to `/Applications`).
+3. Add the following line to your shell configuration file (`~/.zshrc` or `~/.bash_profile`):
+
+```sh
+export PATH="/Applications/CMake.app/Contents/bin:$PATH"
+```
+
+4. Restart the terminal and check the version:
+
+```sh
+cmake --version
+```
+
+5. Make sure it reports a **3.31.x** version.
+
+> [!IMPORTANT]
+> If you've recently upgraded Xcode, be sure to open Xcode at least once and install the required macOS build support.
+
+### Instructions
+
+1. Clone the repository:
+ ```shell
+ git clone https://github.com/SoftFever/OrcaSlicer
+ cd OrcaSlicer
+ ```
+2. Build the application:
+ ```shell
+ ./build_release_macos.sh
+ ```
+3. Open the application:
+ ```shell
+ open build/arm64/OrcaSlicer/OrcaSlicer.app
+ ```
+
+### Debugging in Xcode
+
+To build and debug directly in Xcode:
+
+1. Open the Xcode project:
+ ```shell
+ open build/arm64/OrcaSlicer.xcodeproj
+ ```
+2. In the menu bar:
+ - **Product > Scheme > OrcaSlicer**
+ - **Product > Scheme > Edit Scheme...**
+ - Under **Run > Info**, set **Build Configuration** to `RelWithDebInfo`
+ - Under **Run > Options**, uncheck **Allow debugging when browsing versions**
+ - **Product > Run**
+
+## Linux
+
+### Using Docker (Recommended)
+
+#### Dependencies
+
+- Docker
+- Git
+
+#### Instructions
+
+```shell
+git clone https://github.com/SoftFever/OrcaSlicer && cd OrcaSlicer && ./DockerBuild.sh && ./DockerRun.sh
+```
+
+> [!NOTE]
+> To troubleshoot common Docker-related errors, refer to the comments in
+> ```shell
+> DockerRun.sh
+> ```
+
+## Ubuntu
+
+### Dependencies
+
+All required dependencies will be installed automatically by the provided shell script, including:
+
+- libmspack-dev
+- libgstreamerd-3-dev
+- libsecret-1-dev
+- libwebkit2gtk-4.0-dev
+- libosmesa6-dev
+- libssl-dev
+- libcurl4-openssl-dev
+- eglexternalplatform-dev
+- libudev-dev
+- libdbus-1-dev
+- extra-cmake-modules
+- libgtk2.0-dev
+- libglew-dev
+- cmake
+- git
+- texinfo
+
+### Instructions
+
+```shell
+sudo ./BuildLinux.sh -u # Install dependencies
+./BuildLinux.sh -dsi # Build OrcaSlicer
+```
diff --git a/doc/How-to-create-profiles.md b/doc/How-to-create-profiles.md
index 3161a71633..c84ac037ff 100644
--- a/doc/How-to-create-profiles.md
+++ b/doc/How-to-create-profiles.md
@@ -1,10 +1,13 @@
# Guide: Develop Profiles for OrcaSlicer
## Introduction
+
This guide will help you develop profiles for OrcaSlicer.
## High-level Overview
+
OrcaSlicer uses JSON files to store profiles. There are four types of profiles:
+
1. Printer model (type `machine_model`). Example: `Orca 3D Fuse1.json`
2. Printer variant (type `machine`). Example: `Orca 3D Fuse1 0.2 nozzle.json`
3. Filament (type `filament`). Example: `Generic PLA @Orca 3D Fuse1@.json`
@@ -15,6 +18,7 @@ Additionally, there is an overall meta file for each vendor (`Orca 3D.json`).
For easier understanding, let's consider a scenario with a printer manufacturer called `Orca 3D`. The manufacturer offers one printer model called `Fuse 1`, which supports 0.2/0.4/0.6/0.8mm nozzles and common market filaments.
In this case:
+
- Vendor profile: `Orca 3D`
- Printer profile: `Orca 3D Fuse1`
- Printer variant profile: `Orca 3D Fuse1 0.4 nozzle`
@@ -23,39 +27,54 @@ In this case:
The profile name should be same as the filename without the `.json` extension in principal.
Naming conventions:
+
1. Vendor profile: `vendor_name.json`
2. Printer profile: `vendor_name` + `printer_name` + `.json`
3. Printer variant profile: `vendor_name` + `printer_variant_name` + `.json` (where `printer_variant_name` typically includes `printer_name` + `nozzle_diameter`)
4. Filament profile: `filament_vendor_name` + `filament_name` + " @" + `vendor_name` + `printer_name`/`printer_variant_name` + `.json`
5. Process profile: `layer_height` + `preset_name` + " @" + `vendor_name` + `printer_name`/`printer_variant_name` + `.json` (`preset_name` typically includes "standard," "fine," "fast," "draft," etc.)
+## File Structure and Templates
-A typical file structure for a vendor:
-```
+Profiles should be structured in the following way under the OrcaSlicer installation directory:
+
+```plaintext
resources\profiles\
- - Orca 3D.json
- - Orca 3D\
- - machine\
- - Orca 3D Fuse1.json
- - Orca 3D Fuse1 0.2 nozzle.json
- - Orca 3D Fuse1 0.4 nozzle.json
- - process\
- - 0.10mm Standard @Orca 3D Fuse1 0.2.json
- - 0.20mm Standard @Orca 3D Fuse1 0.4.json
- - filament\
- - Generic PLA @Orca 3D Fuse1@.json
+ ├── Orca 3D.json
+ └── Orca 3D\
+ ├── machine\
+ │ ├── Orca 3D Fuse1.json
+ │ ├── Orca 3D Fuse1 0.2 nozzle.json
+ │ └── Orca 3D Fuse1 0.4 nozzle.json
+ ├── process\
+ │ ├── 0.10mm Standard @Orca 3D Fuse1 0.2.json
+ │ └── 0.20mm Standard @Orca 3D Fuse1 0.4.json
+ └── filament\
+ └── Generic PLA @Orca 3D Fuse1@.json
```
+> [!TIP]
+> Use short vendor names in filenames to avoid excessive length.
-**NOTE 1**: Use short vendor names in filenames to avoid excessive length.
-**NOTE 2**: Filament profiles are **optional**. Create them only if the vendor has specifically tuned profiles for the given printer. See [Filament profiles](#filament-profiles) for details.
+> [!NOTE]
+> Filament profiles are **optional**. Create them only if the vendor has specifically tuned profiles for the given printer. See [Filament profiles](#filament-profiles) for details.
+
+Template files for profiles are available in:
+
+```shell
+OrcaSlicer\resources\profiles_template\Template
+```
+
+These templates can be used as a starting point for new printer, filament, and process profiles.
## Filament Profiles
+
OrcaSlicer features a global filament library called `OrcaFilamentLibrary`, which is automatically available for all printers. It includes generic filaments like `Generic PLA @System` and `Generic ABS @System` etc.
-Printer vendors can override specific filaments in the global library for certain printer models by creating new filament profiles.
+Printer vendors can override specific filaments in the global library for certain printer models by creating new filament profiles.
Relationship diagram:
+
```mermaid
graph TD;
OrcaFilamentLibrary-->Orca_3D_filament;
@@ -63,9 +82,11 @@ graph TD;
OrcaFilamentLibrary-->Vendor_B_filament;
```
-**NOTE**: Create new filament profiles only if you have truly specifically tuned the filament for the given printer. Otherwise, use the global library. The global library has a better chance to receive optimizations and updates from OrcaSlicer contributors, which will benefit users of all printers.
+> [!IMPORTANT]
+> Create new filament profiles only if you have truly specifically tuned the filament for the given printer. Otherwise, use the global library. The global library has a better chance to receive optimizations and updates from OrcaSlicer contributors, which will benefit users of all printers.
### Adding Filament Profiles to the Global Library
+
In this section, we will discuss how to add a new filament profile into the global library.
If you want to add a new generic profile into the global library, you need to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament` folder. If a base type already exists in the global library, you can use this file as a base profile by inheriting it.
The following sample JSON file shows how to create a new generic filament profile `Generic PLA-GF @System` in the global library.
@@ -107,11 +128,13 @@ The following sample JSON file shows how to create a new generic filament profil
}
```
-3. The last step is to validate the newly added filament profiles. You can run OrcaSlicer to verify if the filament you just added is available and usable. You can also use the [Orca profile validator](https://github.com/SoftFever/Orca_tools/releases/tag/1) tool to help debug any errors. **NOTE**: You need to delete the `%appdata%/OrcaSlicer/system` folder to force OrcaSlicer to reload your lastest changes.
+3. The last step is to validate the newly added filament profiles see [Validate Profiles](#validate-profiles).
-The process is the same if you want to add a new brand filament profile into the global library. You need to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament\brand_name` folder. The only difference is that you should put the file into the brand's own subfolder.`resources\profiles\OrcaFilamentLibrary\filament\brand_name`.
+> [!NOTE]
+> If the filament is compatible with AMS, ensure that the `filament_id` value **does not exceed 8 characters** to maintain AMS compatibility.
### Adding Filament Profiles to Printer Vendor Library
+
In this section, we will discuss how to add a new filament profile for a certain vendor.
If you want to add a new filament profile, whether it's a brand new profile or a specialized version of a global filament profile for a given printer, you need to create a new file in the `resources\profiles\vendor_name\filament` folder. If a base type already exists in the global library, you can use this file as a base profile by inheriting it.
Below is a sample JSON file showing how to create a specialized `Generic ABS` filament profile for the ToolChanger printer.
@@ -170,11 +193,224 @@ Please note that here we must leave the compatible_printers field non-empty, unl
}
```
-## Process Profiles
-WIP...
+> [!NOTE]
+> If the filament is compatible with AMS, ensure that the `filament_id` value **does not exceed 8 characters** to maintain AMS compatibility.
-## Printer Profiles
-WIP...
+## Process Profiles
+
+Process profiles define print quality and behavior. They follow a structure similar to filament profiles:
+
+- A common base file, e.g., `fdm_process_common.json`, acts as the parent.
+- Vendor-specific process profiles should inherit from the base using the `inherits` field.
+- Profiles are stored under:
+
+```shell
+resources\profiles\vendor_name\process\
+```
+
+- **There are no global process profiles**.
+- Each process profile includes a `"compatible_printers"` field with an array of compatible printer variant names.
+
+Example:
+
+```json
+{
+ "type": "process",
+ "name": "0.10mm Standard @ExampleVendor Printer 0.2",
+ "inherits": "fdm_process_common",
+ "from": "system",
+ "instantiation": "true",
+ "compatible_printers": [
+ "ExampleVendor Printer 0.2 nozzle"
+ ]
+}
+```
+
+## Printer Model Profiles
+
+- Printer model profiles (type `machine_model`) describe the general printer information.
+- Example fields: `nozzle_diameter`, `bed_model`, `bed_texture`, `model_id`, etc.
+- Stored in:
+
+```shell
+resources\profiles\vendor_name\machine\
+```
+
+- Each vendor's folder may contain an image named:
+
+```shell
+[machine_model_list.name]_cover.png
+```
+
+This image will be used in the UI.
+
+Example model profile:
+
+```json
+{
+ "type": "machine_model",
+ "name": "Example M5",
+ "nozzle_diameter": "0.2;0.25;0.4;0.6",
+ "bed_model": "M5-Example-bed.stl",
+ "bed_texture": "M5-Example-texture.svg",
+ "model_id": "V1234",
+ "family": "Example",
+ "machine_tech": "FFF",
+ "default_materials": "Example Generic PLA;Example Generic PETG"
+}
+```
## Printer Variant Profiles
-WIP...
\ No newline at end of file
+
+- Printer variants (type `machine`) define specific nozzle configurations and mechanical details.
+- Each variant must inherit from a common base like `fdm_machine_common.json`.
+- Must list the compatible nozzle diameter in the `nozzle_diameter` array.
+- Example fields include `printer_model`, `printer_variant`, `default_print_profile`, `printable_area`, etc.
+
+Example variant profile:
+
+```json
+{
+ "type": "machine",
+ "name": "Example M5 0.2 nozzle",
+ "inherits": "fdm_machine_common",
+ "from": "system",
+ "setting_id": "GM001",
+ "instantiation": "true",
+ "nozzle_diameter": ["0.2"],
+ "printer_model": "Example M5",
+ "printer_variant": "0.2",
+ "default_filament_profile": ["Example Generic PLA"],
+ "default_print_profile": "0.10mm Standard 0.2mm nozzle @Example",
+ "printable_area": ["0x0", "235x0", "235x235", "0x235"],
+ "nozzle_type": "brass"
+}
+```
+
+## Models
+
+- The `model` directory under the vendor folder is intended to behave similarly to `machine` profiles.
+- Used for additional printer-related 3D models or definitions, stored at:
+
+```
+resources\profiles\vendor_name\model\
+```
+
+## Vendor Meta File
+
+Each vendor must include a JSON file in the `resources\profiles` directory, named `vendor_name.json`. This file lists all available models, variants, processes, and filaments:
+
+Example:
+
+```json
+{
+ "name": "ExampleVendor",
+ "version": "01.00.00.00",
+ "force_update": "1",
+ "description": "Example configuration",
+ "machine_model_list": [
+ {
+ "name": "Example M5",
+ "sub_path": "machine/Example M5.json"
+ }
+ ],
+ "machine_list": [
+ {
+ "name": "fdm_machine_common",
+ "sub_path": "machine/fdm_machine_common.json"
+ }
+ ],
+ "process_list": [
+ {
+ "name": "fdm_process_common",
+ "sub_path": "process/fdm_process_common.json"
+ }
+ ],
+ "filament_list": [
+ {
+ "name": "fdm_filament_common",
+ "sub_path": "filament/fdm_filament_common.json"
+ }
+ ]
+}
+```
+
+## Validate Profiles
+
+You can validate your profiles using both the **OrcaSlicer profile validator** and the **Python validation script**. These tools are designed to check different aspects of the profiles, so both should be executed and pass without errors to ensure full compatibility.
+
+> [!NOTE]
+> **✅ Recommendation:** Always run **both** the OrcaSlicer validator and the Python script to ensure all aspects of the profiles are valid.
+
+### 1. OrcaSlicer Profile Validator
+
+You can run OrcaSlicer to verify if the filament you just added is available and usable. You can also use the [Orca profile validator](https://github.com/SoftFever/Orca_tools/releases/tag/1) tool to help debug any errors.
+
+> [!IMPORTANT]
+> You need to delete the `%appdata%/OrcaSlicer/system` folder to force OrcaSlicer to reload your lastest changes.
+
+The process is the same if you want to add a new brand filament profile into the global library. You need to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament\brand_name` folder. The only difference is that you should put the file into the brand's own subfolder.
+
+#### Usage
+
+```shell
+-h [ --help ] help
+-p [ --path ] arg profile folder
+-v [ --vendor ] arg Vendor name. Optional, all profiles present in the folder will be validated if not specified
+-l [ --log_level ] arg (=2) Log level. Optional, default is 2 (warning). Higher values produce more detailed logs.
+```
+
+#### Example
+
+```shell
+./OrcaSlicer_profile_validator -p ~/codes/OrcaSlicer/resources/profiles -l 2 -v Custom
+```
+
+#### Sample result with errors
+
+```shell
+PS D:\codes\OrcaSlicer> ."D:/codes/OrcaSlicer/build/src/Release/OrcaSlicer_profile_validator.exe" --path d:\codes\OrcaSlicer\resources\profiles -l 2 -v Custom
+[2024-02-28 21:23:06.102138] [0x0000a4e8] [error] Slic3r::ConfigBase::load_from_json: parse d:\codes\OrcaSlicer\resources\profiles/Custom/machine/fdm_klipper_common.json got a nlohmann::detail::parse_error, reason = [json.exception.parse_error.101] parse error at line 9, column 38: syntax error while parsing object - unexpected string literal; expected '}'
+...
+Validation failed
+```
+
+#### Sample result with success
+
+```shell
+PS D:\codes\OrcaSlicer\build\src\RelWithDebInfo> ."D:/codes/OrcaSlicer/build/src/Release/OrcaSlicer_profile_validator.exe" --path d:\codes\OrcaSlicer\resources\profiles -l 2 -v Custom
+Validation completed successfully
+```
+
+> [!WARNING]
+> Use `OrcaSlicer_profile_validator` on Ubuntu and `OrcaSlicer_profile_validator.exe` on Windows.
+
+---
+
+### 2. Python Profile Validation Script
+
+In addition to the Orca validator, you should run the `orca_extra_profile_check.py` script. This script performs additional checks like:
+
+- Validation of `compatible_printers` in filament profiles
+- Consistency of filament names
+- Validation of default materials in machine profiles (optional)
+
+#### Example command
+
+```shell
+python ./orca_extra_profile_check.py
+```
+
+You can also enable or disable specific checks:
+
+- `--vendor` (optional): checks only the specified vendor. If omitted, all vendors are checked.
+- `--check-filaments` (enabled by default): checks `compatible_printers` fields in filament profiles
+- `--check-materials`: checks default material names in machine profiles
+
+#### Sample usage with all checks enabled
+
+```shell
+python ./orca_extra_profile_check.py --vendor="vendor_name" --check-filaments --check-materials
+```
+
+The script will output the number of errors found and exit with a non-zero status code if any issues are detected.
diff --git a/doc/How-to-wiki.md b/doc/How-to-wiki.md
new file mode 100644
index 0000000000..86f3779257
--- /dev/null
+++ b/doc/How-to-wiki.md
@@ -0,0 +1,246 @@
+# How to Contribute to the Wiki
+
+This guide explains how to contribute to the Orca Slicer wiki.
+
+Orca Slicer uses GitHub's wiki feature, which allows users and developers to create and edit documentation collaboratively.
+
+We encourage all developers and users to contribute to the wiki by updating existing pages and adding new content. This helps keep the documentation up-to-date and useful for everyone.
+
+When developing new features, please consider updating the wiki to reflect these changes. This ensures that users have access to the latest information and can make the most of the features.
+
+- [Wiki Structure](#wiki-structure)
+ - [Home](#home)
+ - [Index and Navigation](#index-and-navigation)
+ - [File Naming and Organization](#file-naming-and-organization)
+- [Formatting and Style](#formatting-and-style)
+ - [Markdown Formatting](#markdown-formatting)
+ - [Alerts and Callouts](#alerts-and-callouts)
+- [Images](#images)
+ - [Image Naming](#image-naming)
+ - [Image Placement](#image-placement)
+ - [Linking Images](#linking-images)
+ - [Examples](#examples)
+ - [Avoid the Following](#avoid-the-following)
+ - [Resize Images](#resize-images)
+ - [Image Cropping and Highlighting](#image-cropping-and-highlighting)
+ - [Recommended Formats](#recommended-formats)
+- [Structuring Content](#structuring-content)
+- [Commands and Code Blocks](#commands-and-code-blocks)
+- [External Links](#external-links)
+
+## Wiki Structure
+
+Each wiki page is a Markdown file located in the `doc` directory of the repository. The wiki is organized into various sections, each covering different areas of the project.
+
+### Home
+
+The starting point of the Orca Slicer wiki is the **Home** page. From there, you can navigate to different sections and topics related to the project.
+
+When creating a new page or section, be sure to link it from the Home page under the appropriate category.
+
+- **Print Settings:** Detailed explanations of print settings, tips, and tricks for optimizing print quality.
+- **Printer Calibration:** Step-by-step calibration tests in Orca Slicer, including how to interpret the results.
+- **Developer Section:** Information for developers and contributors on building Orca Slicer, localization, and developer resources.
+
+#### Index and Navigation
+
+Github Wiki uses the name of the files as identifiers for the pages. To link to a page, use the file name without the `.md` extension.
+If the file is inside a subdirectory, dont include the subdirectory in the link. Instead, link directly to the file from the Home page.
+
+For example, if you create a new page `doc/calibration/flow-rate-calib.md`, link it as follows:
+
+```markdown
+[Calibration Guide](Calibration)
+```
+
+For pages with extensive content, it's helpful to include a table of contents at the beginning. This allows users to quickly find and access different sections of the page.
+
+```markdown
+- [Wiki Structure](#wiki-structure)
+ - [Home](#home)
+ - [Index and Navigation](#index-and-navigation)
+ - [File Naming and Organization](#file-naming-and-organization)
+- [Formatting and Style](#formatting-and-style)
+```
+
+> [!NOTE]
+> If you're adding a new section, follow the existing structure and ensure it doesn't already fit within an existing category. Link it from the Home page accordingly.
+
+### File Naming and Organization
+
+When creating new pages, follow these file naming conventions:
+
+- Use unique file names to avoid conflicts.
+- Use descriptive names that reflect the page's content.
+- Use kebab-case for filenames (e.g., `How-to-wiki.md`).
+- If the page belongs to a specific section, include the section name in the file name. For example, calibration pages should end with `-calib.md` (e.g., `flow-rate-calib.md`, `pressure-advance-calib.md`).
+- Place files in the appropriate subdirectory when applicable (e.g., `doc/calibration/` for calibration-related content).
+
+## Formatting and Style
+
+Please adhere to the following style and formatting conventions when contributing to the wiki.
+
+### Markdown Formatting
+
+The wiki uses standard Markdown syntax for formatting and aims to maintain a consistent style across all pages. Avoid using raw HTML tags and prefer Markdown formatting instead.
+
+Ensure your indentation is consistent, especially for code blocks and lists.
+
+Refer to the [GitHub Markdown Guide](https://guides.github.com/features/mastering-markdown/) for more information on Markdown syntax.
+
+### Alerts and Callouts
+
+To add alerts or notes, use GitHub’s Markdown alert syntax:
+
+```markdown
+> [!NOTE]
+> Useful information that users should know, even when skimming content.
+
+> [!TIP]
+> Helpful advice for doing things better or more easily.
+
+> [!IMPORTANT]
+> Key information users need to know to achieve their goal.
+
+> [!WARNING]
+> Urgent info that needs immediate user attention to avoid problems.
+
+> [!CAUTION]
+> Advises about risks or negative outcomes of certain actions.
+```
+
+> [!NOTE]
+> Useful information that users should know, even when skimming content.
+
+> [!TIP]
+> Helpful advice for doing things better or more easily.
+
+> [!IMPORTANT]
+> Key information users need to know to achieve their goal.
+
+> [!WARNING]
+> Urgent info that needs immediate user attention to avoid problems.
+
+> [!CAUTION]
+> Advises about risks or negative outcomes of certain actions.
+
+Refer to the [GitHub Alert Guide](https://docs.github.com/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts) for more details.
+
+## Images
+
+Images are encouraged to enhance the clarity and quality of the wiki content. They help illustrate concepts, provide examples, and improve readability.
+
+> [!CAUTION]
+> Do not use images from third-party sources unless you have the proper permissions.
+
+### Image Naming
+
+- Use clear, descriptive filenames that reflect the image content.
+- For section-specific images, include the section name or initials. For example, images related to Pressure Advance could be named `pa-[description].png`.
+
+### Image Placement
+
+- General images should be placed in the `doc/images/` directory.
+- Section-specific images should be stored in their corresponding subdirectories (e.g., `doc/images/calibration/` for calibration content).
+
+### Linking Images
+
+Always use raw GitHub URLs for image links to ensure correct display:
+
+Format = `![[filename]](` + Base URL + filename.extension + Raw tag + `)`
+
+- Base URL:
+ ```markdown
+ https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/
+ ```
+- Raw tag:
+ ```markdown
+ ?raw=true
+ ```
+
+#### Examples
+
+- For an image in `doc/images/` named `example.png`:
+
+ ```markdown
+ 
+ ```
+
+- For an image in a subdirectory like `doc/images/calibration/pa-example.svg`:
+ ```markdown
+ 
+ ```
+
+> [!IMPORTANT]
+> New or Moved Images will not appear in the preview until the Pull Request is merged. Double-check your paths.
+> If you are changing an image path, ensure all links to that image are updated accordingly.
+
+#### Avoid the Following
+
+- Relative paths
+- GitHub Assets, user content, or user-images URLs
+- External image links from unreliable or temporary platforms
+- Images containing personal or sensitive information
+- Using images for content that can be expressed in text, such as equations or code—use Markdown syntax or Mermaid/Math formatting instead.
+
+> [!NOTE]
+> When contributing section-specific images, follow the naming conventions and directory structure.
+
+#### Resize Images
+
+Avoid the resize of images and let the Wiki handle it automatically.
+
+If resizing is necessary (e.g., for thumbnails), use the following syntax:
+
+HTML Format = `
+```
+
+### Image Cropping and Highlighting
+
+To ensure clarity:
+
+- Crop images to focus on relevant areas.
+- Use annotations like arrows or shapes (circles, rectangles) to highlight key parts—but avoid overloading the image.
+
+### Recommended Formats
+
+- **JPG:** Suitable for photographs. Avoid for images with text or fine detail due to compression artifacts.
+- **PNG:** Ideal for screenshots or images with transparency. Ensure sufficient contrast for light and dark modes.
+- **SVG:** Preferred when possible. SVGs support theme adaptation (light/dark mode), making them ideal for icons and diagrams.
+
+## Structuring Content
+
+Each wiki page should have a clear objective, which helps determine the structure of the content. After a brief introduction, use one of the following formats:
+
+- **Step-by-Step Guide:** Organize content into sections and subsections for tasks requiring sequential actions (e.g., calibration procedures).
+- **GUI-Based Reference:** If sequence isn’t crucial, structure the content following Orca Slicer’s GUI. This format works well for configurable settings or feature overviews.
+ - Example: Explain **Layer Height** before **Initial Layer Height**, as the former applies globally while the latter is specific to the first layer.
+
+## Commands and Code Blocks
+
+When adding commands or code blocks please use the [Code Block with Syntax Highlighting feature of Markdown](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
+
+- Use triple backticks (```) to enclose code blocks.
+- Specify the language for proper highlighting and readability.
+
+````markdown
+```json
+{
+ "key": "value"
+}
+```
+````
+
+```json
+{
+ "key": "value"
+}
+```
+
+## External Links
+
+Be careful when linking to external resources. Ensure that the links are relevant and reliable.
+Papers, articles, and other resources should be cited properly.
diff --git a/doc/Localization_guide.md b/doc/Localization_guide.md
index 5949de03db..ffc347db8c 100644
--- a/doc/Localization_guide.md
+++ b/doc/Localization_guide.md
@@ -2,26 +2,28 @@
The purpose of this guide is to describe how to contribute to the Orca Slicer translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
-Those can be downloaded here:
-- https://sourceforge.net/directory/os:windows/?q=gnu+gettext GNUgettext package contains a set of tools to extract strings from the source code and to create the translation Catalog.
-- https://poedit.net PoEdit provides good interface for the translators.
+Those can be downloaded here:
+
+- https://sourceforge.net/directory/os:windows/?q=gnu+gettext GNUgettext package contains a set of tools to extract strings from the source code and to create the translation Catalog.
+- https://poedit.net PoEdit provides good interface for the translators.
After GNUgettext is installed, it is recommended to add the path to gettext/bin to PATH variable.
Full manual for GNUgettext can be seen here: http://www.gnu.org/software/gettext/manual/gettext.html
-
### 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:
-https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n
+ https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n
2. Open this file in PoEdit as "Edit a translation"
3. Apply your corrections to the translation
4. Push changed OrcaSlicer_xx.po into the original folder
5. copy OrcaSlicer_xx.mo into resources/i18n/xx and rename it to OrcaSlicer.mo, then push the changed file.
### Scenario 2. How do I add a new language support
+
1. Get file OrcaSlicer.pot here :
-https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n
+ https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n
2. Open it in PoEdit for "Create new translation"
3. Select Translation Language (for example French).
4. As a result you will have fr.po - the file containing translation to French.
@@ -30,24 +32,28 @@ Notice. When the translation is complete you need to:
- Click "Save file" button. OrcaSlicer_fr.mo will be created immediately
- Bambu_Studio_fr.po needs to be copied into the sub-folder fr of https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n, and be pushed
- copy OrcaSlicer_xx.mo into resources/i18n/xx and rename it to OrcaSlicer.mo, then push the changed file.
-( name of folder "fr" means "French" - the translation language).
+( name of folder "fr" means "French" - the translation language).
### Scenario 3. How do I add a new text resource when implementing a feature to Orca Slicer
+
Each string resource in Orca Slicer available for translation needs to be explicitly marked using L() macro like this:
+
```C++
auto msg = L("This message to be localized")
```
+
To get translated text use one of needed macro/function (`_(s)` or `_CHB(s)` ).
If you add new file resource, add it to the list of files containing macro `L()`
### Scenario 4. How do I use GNUgettext to localize my own application taking Orca Slicer as an example
-1. For convenience create a list of files with this macro `L(s)`. We have
-https://github.com/softfever/OrcaSlicer/blob/master/localization/i18n/list.txt.
+1. For convenience create a list of files with this macro `L(s)`. We have
+ https://github.com/softfever/OrcaSlicer/blob/master/localization/i18n/list.txt.
2. Create template file(*.POT) with GNUgettext command:
- ```
- xgettext --keyword=L --add-comments=TRN --from-code=UTF-8 --debug -o OrcaSlicer.pot -f list.txt
+
+ ```shell
+ xgettext --keyword=L --add-comments=TRN --from-code=UTF-8 --debug -o OrcaSlicer.pot -f list.txt
```
Use flag `--from-code=UTF-8` to specify that the source strings are in UTF-8 encoding
@@ -56,38 +62,37 @@ https://github.com/softfever/OrcaSlicer/blob/master/localization/i18n/list.txt.
3. Create PO- and MO-files for your project as described above.
4. To merge old PO-file with strings from created new POT-file use command:
+
+ ```shell
+ msgmerge -N -o new.po old.po new.pot
```
- msgmerge -N -o new.po old.po new.pot
- ```
+
Use option `-N` to not using fuzzy matching when an exact match is not found.
5. To concatenate old PO-file with strings from new PO-file use command:
- ```
- msgcat -o new.po old.po
+
+ ```shell
+ msgcat -o new.po old.po
```
6. Create an English translation catalog with command:
- ```
- msgen -o new.po old.po
+ ```shell
+ msgen -o new.po old.po
```
Notice, in this Catalog it will be totally same strings for initial text and translated.
When you have Catalog to translation open POT or PO file in PoEdit and start translating.
-
## General guidelines for Orca Slicer translators
+- We recommend using _PoEdit_ application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used).
-- We recommend using *PoEdit* application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used).
-
-- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it Orca Slicer.mo, and you can run Orca Slicer (see above).
+- To check how the translated text looks on the UI elements, test it :) If you use _PoEdit_, all you need to do is save the file. At this point, a MO file will be created. Rename it Orca Slicer.mo, and you can run Orca Slicer (see above).
- If you see an encoding error (garbage characters instead of Unicode) somewhere in Orca Slicer, report it. It is likely not a problem of your translation, but a bug in the software.
- See on which UI elements the translated phrase will be used. Especially if it's a button, it is very important to decide on the translation and not write alternative translations in parentheses, as this will significantly increase the width of the button, which is sometimes highly undesirable:
-
-
- If you decide to use autocorrect or any batch processing tool, the output requires very careful proofreading. It is very easy to make it do changes that break things big time.
- **Any formatting parts of the phrases must remain unchanged.** For example, you should not change `%1%` to `%1 %`, you should not change `%%` to `%` (for percent sign) and similar. This will lead to application crashes.
@@ -101,4 +106,3 @@ When you have Catalog to translation open POT or PO file in PoEdit and start tra
- If the phrase doesn't have a dot at the end, don't add it. And if it does, then don't forget to :)
- It is useful to stick to the same terminology in the application (especially with basic terms such as "filament" and similar). Stay consistent. Otherwise it will confuse users.
-
diff --git a/doc/Precise-wall.md b/doc/Precise-wall.md
index 5e8bd9329c..b1ba5f3de3 100644
--- a/doc/Precise-wall.md
+++ b/doc/Precise-wall.md
@@ -1,13 +1,25 @@
+# Precise Wall
+
The 'Precise Wall' is a distinctive feature introduced by OrcaSlicer, aimed at improving the dimensional accuracy of prints and minimizing layer inconsistencies by slightly increasing the spacing between the outer wall and the inner wall.
-Below is a technical explanation of how this feature works.
-First, it's important to understand some basic concepts like flow, extrusion width, and space. Slic3r has an excellent document that covers these topics in detail. You can refer to this article: [link to article](https://manual.slic3r.org/advanced/flow-math).
+## Technical explanation
+
+Below is a technical explanation of how this feature works.
+
+First, it's important to understand some basic concepts like flow, extrusion width, and space. Slic3r has an excellent document that covers these topics in detail. You can refer to this [article](https://manual.slic3r.org/advanced/flow-math).
+
+Now, let's dive into the specifics. Slic3r and its forks, such as PrusaSlicer, SuperSlicer, and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping.
+
+- **Precise Wall Off**
+
+ 
+
+- **Precise Wall On**
+
+ 
-Now, let's dive into the specifics. Slic3r and its forks, such as PrusaSlicer, SuperSlicer, and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping.
-
This approach enhances the strength of 3D-printed parts. However, it does have some side effects. For instance, when the inner-outer wall order is used, the outer wall can be pushed outside, leading to potential size inaccuracy and more layer inconsistency.
-It's important to keep in mind that this approach to handling flow is specific to Slic3r and it's forks. Other slicing software, such as Cura, assumes that the extrusion path is rectangular and, therefore, does not include overlapping. Two 0.4 mm walls will result in a 0.8 mm shell thickness in Cura
+It's important to keep in mind that this approach to handling flow is specific to Slic3r and its forks. Other slicing software, such as Cura, assumes that the extrusion path is rectangular and, therefore, does not include overlapping. Two 0.4 mm walls will result in a 0.8 mm shell thickness in Cura.
OrcaSlicer adheres to Slic3r's approach to handling flow. To address the downsides mentioned earlier, OrcaSlicer introduced the 'Precise Wall' feature. When this feature is enabled in OrcaSlicer, the overlap between the outer wall and its adjacent inner wall is set to zero. This ensures that the overall strength of the printed part is unaffected, while the size accuracy and layer consistency are improved.
-
diff --git a/doc/Print-settings.md b/doc/Print-settings.md
deleted file mode 100644
index 5c31ca4eb9..0000000000
--- a/doc/Print-settings.md
+++ /dev/null
@@ -1,8 +0,0 @@
-Print settings:
-
-* [Seam](seam)
-* [Axiliary fan](auxiliary-fan)
-* [Chamber temperature](chamber-temperature)
-* [Air filtration/Exhaust fan](air-filtration)
-* [Single Extruder Multimaterial](semm)
-* [Precise wall](Precise-wall)
\ No newline at end of file
diff --git a/doc/Seam.md b/doc/Seam.md
deleted file mode 100644
index a11d7297c0..0000000000
--- a/doc/Seam.md
+++ /dev/null
@@ -1,20 +0,0 @@
-WIP...
-
-### Scarf joint seam
-WIP...
-
-### Seam gap
-
-
-### Role-based wipe speed(auto)
-### Wipe speed
-### Wipe on loop(inward movement)
-
-
-Use outer wall speed and acceleration instead of travel speed and acceleration.
-Added an option to disable this feature
-### Support Cura style outer wall wipe(100% retract before wipe)
-
-
-
-Extra length on restart
\ No newline at end of file
diff --git a/doc/adaptive-bed-mesh.md b/doc/adaptive-bed-mesh.md
index a711eaff0c..445e5083bc 100644
--- a/doc/adaptive-bed-mesh.md
+++ b/doc/adaptive-bed-mesh.md
@@ -1,44 +1,57 @@
# Adaptive Bed Mesh Support
-Orca Slicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
-This feature allows users to seamlessly integrate adaptive bed mesh commands within the Machine Start G-code.
+
+Orca Slicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
+
+This feature allows users to seamlessly integrate adaptive bed mesh commands within the Machine Start G-code.
+
The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from Orca Slicer.
-
-
+
## Settings in Orca Slicer:
+
`Bed mesh min`: This option sets the min point for the allowed bed mesh area. Due to the probe's XY offset, most printers are unable to probe the entire bed. To ensure the probe point does not go outside the bed area, the minimum and maximum points of the bed mesh should be set appropriately. OrcaSlicer ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed these min/max points. This information can usually be obtained from your printer manufacturer. The default setting is (-99999, -99999), which means there are no limits, thus allowing probing across the entire bed.
`Bed mesh max`: This option sets the max point for the allowed bed mesh area. Due to the probe's XY offset, most printers are unable to probe the entire bed. To ensure the probe point does not go outside the bed area, the minimum and maximum points of the bed mesh should be set appropriately. OrcaSlicer ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed these min/max points. This information can usually be obtained from your printer manufacturer. The default setting is (99999, 99999), which means there are no limits, thus allowing probing across the entire bed.
`Probe point distance`: This option sets the preferred distance between probe points (grid size) for the X and Y directions, with the default being 50mm for both X and Y.
-`Mesh margin`: This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions. Note for Klipper users: Orca Slicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
+`Mesh margin`: This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions.
+
+> [!NOTE]
+> Klipper users: Orca Slicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
+
+## Available g-code variables for Adaptive Bed Mesh Command
-## Available g-code variables for Adaptive Bed Mesh Command
`bed_mesh_probe_count`: Represents the probe count in the X and Y directions. This value is calculated based on the size of the adaptive bed mesh area and the distance between probe points.
`adaptive_bed_mesh_min`: Specifies the minimum coordinates of the adaptive bed mesh area, defining the starting point of the mesh.
`adaptive_bed_mesh_max`: Determines the maximum coordinates of the adaptive bed mesh area, indicating the endpoint of the mesh.
-`ALGORITHM`: Identifies the algorithm used for adaptive bed mesh interpolation. This variable is useful for Klipper users. If bed_mesh_probe_count is less than 4, the algorithm is set to `lagrange`. Otherwise, it is set to `bicubic`.
+`ALGORITHM`: Identifies the algorithm used for adaptive bed mesh interpolation. This variable is useful for Klipper users. If bed_mesh_probe_count is less than 4, the algorithm is set to `lagrange`. Otherwise, it is set to `bicubic`.
-## Example of Adaptive Bed Mesh usage in Orca Slicer:
+## Example of Adaptive Bed Mesh usage in Orca Slicer:
### Marlin:
-```
+
+```gcode
; Marlin don't support speicify the probe count yet, so we only specify the probe area
G29 L{adaptive_bed_mesh_min[0]} R{adaptive_bed_mesh_max[0]} F{adaptive_bed_mesh_min[1]} B{adaptive_bed_mesh_max[1]} T V4
```
+
### Klipper:
-```
+
+```gcode
; Always pass `ADAPTIVE_MARGIN=0` because Orca has already handled `adaptive_bed_mesh_margin` internally
; Make sure to set ADAPTIVE to 0 otherwise Klipper will use it's own adaptive bed mesh logic
BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0
```
+
### RRF:
+
+```gcode
+M557 X{adaptive_bed_mesh_min[0]}:{adaptive_bed_mesh_max[0]} Y{adaptive_bed_mesh_min[1]}:{adaptive_bed_mesh_max[1]} P{bed_mesh_probe_count[0]}:{bed_mesh_probe_count[1]}
```
-M557 X{adaptive_bed_mesh_min[0]}:{adaptive_bed_mesh_max[0]} Y{adaptive_bed_mesh_min[1]}:{adaptive_bed_mesh_max[1]} P{bed_mesh_probe_count[0]}:{bed_mesh_probe_count[1]}
-```
-
+
+
diff --git a/doc/air-filtration.md b/doc/air-filtration.md
index 4ab0868174..ec38d632f9 100644
--- a/doc/air-filtration.md
+++ b/doc/air-filtration.md
@@ -1,10 +1,15 @@
+# Air Filtration/Exhaust Fan Control in OrcaSlicer
+
OrcaSlicer use `M106 P3` command to control air-filtration/exhaust fan.
-If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
-Below is a reference configuration for Klipper.
-*Note: Don't forget to change the pin name to the actual pin name you are using in the configuration*
+If you are using Klipper, you can define a `M106` macro to control both the normal part cooling fan, auxiliary fan, and exhaust fan.
-```
+Below is a reference configuration for Klipper.
+
+> [!NOTE]
+> Don't forget to change the pin name to the actual pin name you are using in the configuration.
+
+```ini
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
@@ -31,5 +36,4 @@ gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
-
```
diff --git a/doc/bed-types.md b/doc/bed-types.md
index 77d5f93d9d..73b18e6fa0 100644
--- a/doc/bed-types.md
+++ b/doc/bed-types.md
@@ -2,15 +2,15 @@
You can enable it in printer settings.
+Once enabled, you can select the bed type in the drop-down menu, corresponding bed temperature will be set automatically.
+You can set the bed temperature for each bed type in the filament settings as demonstrated in the following image.
-Once enabled, you can select the bed type in the drop-down menu, corresponding bed temperature will be set automatically.
-You can set the bed temperature for each bed type in the filament settings as demonstrated in the following image.
-
+
+Orca also support `curr_bed_type` variable in custom G-code.
+For example, the following sample G-codes can detect the selected bed type and adjust the G-code offset accordingly for Klipper:
-Orca also support `curr_bed_type` variable in custom G-code.
-For example, the following sample G-codes can detect the selected bed type and adjust the G-code offset accordingly for Klipper:
-```
+```c++
{if curr_bed_type=="Textured PEI Plate"}
SET_GCODE_OFFSET Z=-0.05
{else}
@@ -19,9 +19,10 @@ For example, the following sample G-codes can detect the selected bed type and a
```
available bed types are:
-```
+
+```c++
"Cool Plate"
"Engineering Plate"
"High Temp Plate"
"Textured PEI Plate"
-```
\ No newline at end of file
+```
diff --git a/doc/developer-reference/Developers-Home.md b/doc/developer-reference/Developers-Home.md
new file mode 100644
index 0000000000..8080e95abf
--- /dev/null
+++ b/doc/developer-reference/Developers-Home.md
@@ -0,0 +1,7 @@
+# For Developers
+
+This is a documentation from someone exploring the code and is by no means complete or even completely accurate. Please edit the parts you might find inaccurate. This is probably going to be helpful nonetheless.
+
+- [Preset, PresetBundle and PresetCollection](Preset-and-bundle)
+- [Plater, Sidebar, Tab, ComboBox](plater-sidebar-tab-combobox)
+- [Slicing Call Hierarchy](slicing-hierarchy)
diff --git a/doc/developer-reference/Home.md b/doc/developer-reference/Home.md
deleted file mode 100644
index 99a9c0f689..0000000000
--- a/doc/developer-reference/Home.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# For Developers
-
-This is a documentation from someone exploring the code and is by no means complete or even completely accurate. Please edit the parts you might find inaccurate. This is probably going to be helpful nonetheless.
-
-- [Preset, PresetBundle and PresetCollection](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/Preset-and-bundle.md)
-- [Plater, Sidebar, Tab, ComboBox](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/plater-sidebar-tab-combobox.md)
-- [Slicing Call Hierarchy](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/slicing-hierarchy.md)
diff --git a/doc/developer-reference/Preset-and-bundle.md b/doc/developer-reference/Preset-and-bundle.md
index 4e0b00d186..ca2d680f0d 100644
--- a/doc/developer-reference/Preset-and-bundle.md
+++ b/doc/developer-reference/Preset-and-bundle.md
@@ -1,26 +1,27 @@
This page deals with the explanation for 3 classes in the code.
-## [`Preset`](../../src/libslic3r/Preset.hpp)
+## [`Preset`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
As the name might suggest this class deals with presets for various things. It defines an enum `Type` which basically tells you what kind of data the present contains. Below are a few explained and there corresponding UI elements
-#### Note: There is a lot of outdated and legacy code in the code base.
+> [!WARNING]
+> There is a lot of outdated and legacy code in the code base.
- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.
-
+
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
-
+
- `TYPE_PRINTER`: Preset for printers.
-
+
There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.
-## [`PresetBundle`](../../src/libslic3r/PresetBundle.hpp)
+## [`PresetBundle`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/PresetBundle.hpp)
This is a bundle containing a few types of `PresetCollection`. One bundle has presets for some printers, filaments and some processes (TYPE_PRINT).
@@ -30,9 +31,10 @@ This is a bundle containing a few types of `PresetCollection`. One bundle has pr
each one of these contains a collection of processes, filaments and printers respectively.\
-#### Note: Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.
+> [!IMPORTANT]
+> Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.
-## [`PresetCollection`](../../src/libslic3r/Preset.hpp)
+## [`PresetCollection`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
`PrinterPresetCollection` is a class derived from `PresetCollection`.
diff --git a/doc/developer-reference/plater-sidebar-tab-combobox.md b/doc/developer-reference/plater-sidebar-tab-combobox.md
index a35ca6f8cf..1f01e7b5b6 100644
--- a/doc/developer-reference/plater-sidebar-tab-combobox.md
+++ b/doc/developer-reference/plater-sidebar-tab-combobox.md
@@ -1,23 +1,25 @@
+# Application Structure Overview
+
### !! incomplete, possibly inaccurate, being updated with new info !!
-## [`Plater`](../../src/slic3r/GUI/Plater.hpp)
+## [`Plater`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Plater.hpp)
Refers to the entire application. The whole view, file loading, project saving and loading is all managed by this class. This class contains members for the model viewer, the sidebar, gcode viewer and everything else.
-## [`Sidebar`](../../src/slic3r/GUI/Plater.hpp)
+## [`Sidebar`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Plater.hpp)
This is relating the the sidebar in the application window
-
+
-## [`ComboBox`](../../src/slic3r/GUI/Widgets/ComboBox.hpp)
+## [`ComboBox`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Widgets/ComboBox.hpp)
The drop down menus where you can see and select presets
-
+
-## [`Tab`](../../src/slic3r/GUI/Tab.hpp)
+## [`Tab`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Tab.hpp)
Refers to the various windows with settings. e.g. the Popup to edit printer or filament preset. Also the section to edit process preset and the object list. These 4 are managed by `TabPrinter`, `TabFilament`, `TabPrint` and `TabPrintModel` respectively.
-
+
\ No newline at end of file
diff --git a/doc/developer-reference/slicing-hierarchy.md b/doc/developer-reference/slicing-hierarchy.md
index 65d28e11aa..f703c75f15 100644
--- a/doc/developer-reference/slicing-hierarchy.md
+++ b/doc/developer-reference/slicing-hierarchy.md
@@ -2,4 +2,43 @@
The Slicing logic is not the easiest to locate in the code base. Below is a flow diagram of function calls that are made after clicking the `Slice Plate` button in the UI. Most of the processing happens in different threads. Note the calls after `BackgroundSlicingProcess::start()`, but this is how you can find the slicing logic.
-
+```mermaid
+flowchart TD
+ A["Slice plate"] --> B["void Plater::priv::on_action_slice_plate(SimpleEvent&)"]
+ B --> C["void Plater::reslice()"]
+ C --> D["bool Plater::priv::restart_background_process(unsigned int state)"]
+ D --> E["bool BackgroundSlicingProcess::start()"]
+ E --> F["void BackgroundSlicingProcess::thread_proc_safe_seh_throw()"]
+ F --> G["unsigned long BackgroundSlicingProcess::thread_proc_safe_seh()"]
+ G --> H["void BackgroundSlicingProcess::thread_proc_safe()"]
+ H --> I["void BackgroundSlicingProcess::thread_proc()"]
+ I --> J["void BackgroundSlicingProcess::call_process_seh_throw(std::exception_ptr &ex)"]
+ J --> K["unsigned long BackgroundSlicingProcess::call_process_seh(std::exception_ptr &ex)"]
+ K --> L["void BackgroundSlicingProcess::call_process(std::exception_ptr &ex)"]
+ L --> M["void BackgroundSlicingProcess::process_fff()"]
+ M --> N["void Print::process(long long *time_cost_with_cache, bool use_cache)"]
+ N --> O["void PrintObject::make_perimeters()"]
+ O --> P["void PrintObject::slice()"]
+
+ %% Labels for libraries
+ subgraph G1 [libSlic3r_gui]
+ B
+ C
+ D
+ E
+ F
+ G
+ H
+ I
+ J
+ K
+ L
+ M
+ end
+
+ subgraph G2 [libSlic3r]
+ N
+ O
+ P
+ end
+```
\ No newline at end of file
diff --git a/doc/fill-patterns.md b/doc/fill-patterns.md
new file mode 100644
index 0000000000..73a832b784
--- /dev/null
+++ b/doc/fill-patterns.md
@@ -0,0 +1,91 @@
+# Infill Patterns
+WIP...
+
+## Concentric
+
+
+
+## Rectilinear
+
+
+
+## Grid
+
+
+
+## 2D Lattice
+
+
+
+## Line
+
+
+
+## Cubic
+
+
+
+## Triangles
+
+
+
+## Tri-hexagon
+
+
+
+## Gyroid
+
+
+
+## Honeycomb
+
+
+
+## Adaptive Cubic
+
+
+
+## Aligned Rectilinear
+
+
+
+## 3D Honeycomb
+
+
+
+## Hilbert Curve
+
+
+
+## Archimedean Chords
+
+
+
+## Octagram Spiral
+
+
+
+## Support Cubic
+
+
+
+## Lightning
+
+
+
+## Cross Hatch
+
+
+
+## Quartered Cubic
+
+
+
+> [!NOTE]
+> Standard images are taken with:
+> - Primitive Cube: 66mm x 66mm x 66mm
+> - Layer Height: 0.2mm
+> - Infill Density: 15%
+> - Layer Count: 329
+> - Wall loops: 3 (Hide in isometric view)
+> - Anchor: Off
diff --git a/doc/images/Adaptative-Bed-Mesh/ABM-Machine-G-code.png b/doc/images/Adaptative-Bed-Mesh/ABM-Machine-G-code.png
new file mode 100644
index 0000000000..c0367a90c2
Binary files /dev/null and b/doc/images/Adaptative-Bed-Mesh/ABM-Machine-G-code.png differ
diff --git a/doc/images/Adaptative-Bed-Mesh/ABM-PrinterConfig.png b/doc/images/Adaptative-Bed-Mesh/ABM-PrinterConfig.png
new file mode 100644
index 0000000000..c2c691c0ae
Binary files /dev/null and b/doc/images/Adaptative-Bed-Mesh/ABM-PrinterConfig.png differ
diff --git a/doc/images/Chamber/Chamber-Temperature-Control-Material.png b/doc/images/Chamber/Chamber-Temperature-Control-Material.png
new file mode 100644
index 0000000000..66559a86a3
Binary files /dev/null and b/doc/images/Chamber/Chamber-Temperature-Control-Material.png differ
diff --git a/doc/images/Chamber/Chamber-Temperature-Control-Printer.png b/doc/images/Chamber/Chamber-Temperature-Control-Printer.png
new file mode 100644
index 0000000000..1d7429c925
Binary files /dev/null and b/doc/images/Chamber/Chamber-Temperature-Control-Printer.png differ
diff --git a/doc/images/ERS/equation1.jpeg b/doc/images/ERS/equation1.jpeg
deleted file mode 100644
index 9b8439862f..0000000000
Binary files a/doc/images/ERS/equation1.jpeg and /dev/null differ
diff --git a/doc/images/ERS/equation1terms.jpeg b/doc/images/ERS/equation1terms.jpeg
deleted file mode 100644
index 35f6c7dba2..0000000000
Binary files a/doc/images/ERS/equation1terms.jpeg and /dev/null differ
diff --git a/doc/images/ERS/equation2.jpeg b/doc/images/ERS/equation2.jpeg
deleted file mode 100644
index 2a4536bbdb..0000000000
Binary files a/doc/images/ERS/equation2.jpeg and /dev/null differ
diff --git a/doc/images/ERS/artefact.jpeg b/doc/images/ERS/ers-artefact.jpg
similarity index 100%
rename from doc/images/ERS/artefact.jpeg
rename to doc/images/ERS/ers-artefact.jpg
diff --git a/doc/images/ERS/intro.jpg b/doc/images/ERS/ers-intro.jpg
similarity index 100%
rename from doc/images/ERS/intro.jpg
rename to doc/images/ERS/ers-intro.jpg
diff --git a/doc/images/ERS/printspeed.jpeg b/doc/images/ERS/ers-printspeed.jpg
similarity index 100%
rename from doc/images/ERS/printspeed.jpeg
rename to doc/images/ERS/ers-printspeed.jpg
diff --git a/doc/images/flow-calibration.gif b/doc/images/Flow-Rate/flow-calibration.gif
similarity index 100%
rename from doc/images/flow-calibration.gif
rename to doc/images/Flow-Rate/flow-calibration.gif
diff --git a/doc/images/Flow-Rate/flowcalibration_update_flowrate.png b/doc/images/Flow-Rate/flowcalibration_update_flowrate.png
new file mode 100644
index 0000000000..6ac5024733
Binary files /dev/null and b/doc/images/Flow-Rate/flowcalibration_update_flowrate.png differ
diff --git a/doc/images/Flow-Rate/flowrate-0-5.jpg b/doc/images/Flow-Rate/flowrate-0-5.jpg
new file mode 100644
index 0000000000..364b67351a
Binary files /dev/null and b/doc/images/Flow-Rate/flowrate-0-5.jpg differ
diff --git a/doc/images/Flow-Rate/flowrate-6.jpg b/doc/images/Flow-Rate/flowrate-6.jpg
new file mode 100644
index 0000000000..d5f65683c9
Binary files /dev/null and b/doc/images/Flow-Rate/flowrate-6.jpg differ
diff --git a/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png b/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png
new file mode 100644
index 0000000000..b362a3d689
Binary files /dev/null and b/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png differ
diff --git a/doc/images/Flow-Rate/flowrate-pass1.jpg b/doc/images/Flow-Rate/flowrate-pass1.jpg
new file mode 100644
index 0000000000..8cbe342800
Binary files /dev/null and b/doc/images/Flow-Rate/flowrate-pass1.jpg differ
diff --git a/doc/images/Flow-Rate/flowrate-pass2.jpg b/doc/images/Flow-Rate/flowrate-pass2.jpg
new file mode 100644
index 0000000000..5d4197d143
Binary files /dev/null and b/doc/images/Flow-Rate/flowrate-pass2.jpg differ
diff --git a/doc/images/InputShaping/IS_damp_menu.png b/doc/images/InputShaping/IS_damp_menu.png
index 5f8fbeb59f..bb3674826d 100644
Binary files a/doc/images/InputShaping/IS_damp_menu.png and b/doc/images/InputShaping/IS_damp_menu.png differ
diff --git a/doc/images/InputShaping/IS_freq_menu.png b/doc/images/InputShaping/IS_freq_menu.png
index df51c0787f..e4764b50bf 100644
Binary files a/doc/images/InputShaping/IS_freq_menu.png and b/doc/images/InputShaping/IS_freq_menu.png differ
diff --git a/doc/images/JunctionDeviation/jd_first_menu.png b/doc/images/JunctionDeviation/jd_first_menu.png
index 263126143b..8888e401d7 100644
Binary files a/doc/images/JunctionDeviation/jd_first_menu.png and b/doc/images/JunctionDeviation/jd_first_menu.png differ
diff --git a/doc/images/JunctionDeviation/jd_second_menu.png b/doc/images/JunctionDeviation/jd_second_menu.png
index 016b2a4aaa..683b303f16 100644
Binary files a/doc/images/JunctionDeviation/jd_second_menu.png and b/doc/images/JunctionDeviation/jd_second_menu.png differ
diff --git a/doc/images/PreciseWall/PreciseWallOff.svg b/doc/images/PreciseWall/PreciseWallOff.svg
new file mode 100644
index 0000000000..f920f06f41
--- /dev/null
+++ b/doc/images/PreciseWall/PreciseWallOff.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/doc/images/PreciseWall/PreciseWallOn.svg b/doc/images/PreciseWall/PreciseWallOn.svg
new file mode 100644
index 0000000000..5d27354d1e
--- /dev/null
+++ b/doc/images/PreciseWall/PreciseWallOn.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/doc/images/PreciseZ/PreciseZOff.png b/doc/images/PreciseZ/PreciseZOff.png
new file mode 100644
index 0000000000..43b5d56cc6
Binary files /dev/null and b/doc/images/PreciseZ/PreciseZOff.png differ
diff --git a/doc/images/PreciseZ/PreciseZOn.png b/doc/images/PreciseZ/PreciseZOn.png
new file mode 100644
index 0000000000..861aec011c
Binary files /dev/null and b/doc/images/PreciseZ/PreciseZOn.png differ
diff --git a/doc/images/stl transformation/simplify-menu.png b/doc/images/STL-Transformation/simplify-menu.png
similarity index 100%
rename from doc/images/stl transformation/simplify-menu.png
rename to doc/images/STL-Transformation/simplify-menu.png
diff --git a/doc/images/stl transformation/stl-transformation-enable.png b/doc/images/STL-Transformation/stl-transformation-enable.png
similarity index 100%
rename from doc/images/stl transformation/stl-transformation-enable.png
rename to doc/images/STL-Transformation/stl-transformation-enable.png
diff --git a/doc/images/stl transformation/stl-transformation-params.png b/doc/images/STL-Transformation/stl-transformation-params.png
similarity index 100%
rename from doc/images/stl transformation/stl-transformation-params.png
rename to doc/images/STL-Transformation/stl-transformation-params.png
diff --git a/doc/images/stl transformation/stl-transformation-smooth-rough.png b/doc/images/STL-Transformation/stl-transformation-smooth-rough.png
similarity index 100%
rename from doc/images/stl transformation/stl-transformation-smooth-rough.png
rename to doc/images/STL-Transformation/stl-transformation-smooth-rough.png
diff --git a/doc/images/stl transformation/stl-transformation-split.png b/doc/images/STL-Transformation/stl-transformation-split.png
similarity index 100%
rename from doc/images/stl transformation/stl-transformation-split.png
rename to doc/images/STL-Transformation/stl-transformation-split.png
diff --git a/doc/images/stl transformation/stl-transformation.png b/doc/images/STL-Transformation/stl-transformation.png
similarity index 100%
rename from doc/images/stl transformation/stl-transformation.png
rename to doc/images/STL-Transformation/stl-transformation.png
diff --git a/doc/images/Temp-calib/temp-tower.jpg b/doc/images/Temp-calib/temp-tower.jpg
new file mode 100644
index 0000000000..5394d25420
Binary files /dev/null and b/doc/images/Temp-calib/temp-tower.jpg differ
diff --git a/doc/images/temp_tower_test.gif b/doc/images/Temp-calib/temp-tower_test.gif
similarity index 100%
rename from doc/images/temp_tower_test.gif
rename to doc/images/Temp-calib/temp-tower_test.gif
diff --git a/doc/images/Temp-calib/temp-tower_test_menu.png b/doc/images/Temp-calib/temp-tower_test_menu.png
new file mode 100644
index 0000000000..dfc074ebe9
Binary files /dev/null and b/doc/images/Temp-calib/temp-tower_test_menu.png differ
diff --git a/doc/images/Tolerance/FilamentShrinkageCompensation.png b/doc/images/Tolerance/FilamentShrinkageCompensation.png
new file mode 100644
index 0000000000..8da497eca0
Binary files /dev/null and b/doc/images/Tolerance/FilamentShrinkageCompensation.png differ
diff --git a/doc/images/OrcaToleranceTes_m6.jpg b/doc/images/Tolerance/OrcaToleranceTes_m6.jpg
similarity index 100%
rename from doc/images/OrcaToleranceTes_m6.jpg
rename to doc/images/Tolerance/OrcaToleranceTes_m6.jpg
diff --git a/doc/images/OrcaToleranceTest_print.jpg b/doc/images/Tolerance/OrcaToleranceTest_print.jpg
similarity index 100%
rename from doc/images/OrcaToleranceTest_print.jpg
rename to doc/images/Tolerance/OrcaToleranceTest_print.jpg
diff --git a/doc/images/Tolerance/QualityPrecision.png b/doc/images/Tolerance/QualityPrecision.png
new file mode 100644
index 0000000000..7b763ea67c
Binary files /dev/null and b/doc/images/Tolerance/QualityPrecision.png differ
diff --git a/doc/images/Tolerance/tolerance_hole.svg b/doc/images/Tolerance/tolerance_hole.svg
new file mode 100644
index 0000000000..927be09ae7
--- /dev/null
+++ b/doc/images/Tolerance/tolerance_hole.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/doc/images/activate_chamber_heater.jpg b/doc/images/activate_chamber_heater.jpg
deleted file mode 100644
index c6c4f550ac..0000000000
Binary files a/doc/images/activate_chamber_heater.jpg and /dev/null differ
diff --git a/doc/images/calibration.png b/doc/images/calibration.png
new file mode 100644
index 0000000000..65632b2889
Binary files /dev/null and b/doc/images/calibration.png differ
diff --git a/doc/images/combobox.png b/doc/images/combobox.png
index 0b720e6622..ef2832cc9e 100644
Binary files a/doc/images/combobox.png and b/doc/images/combobox.png differ
diff --git a/doc/images/filament-preset.png b/doc/images/filament-preset.png
index 7ad4c1c52e..0aa6030adb 100644
Binary files a/doc/images/filament-preset.png and b/doc/images/filament-preset.png differ
diff --git a/doc/images/fill/infill-iso-2d-lattice.png b/doc/images/fill/infill-iso-2d-lattice.png
new file mode 100644
index 0000000000..12e0e83496
Binary files /dev/null and b/doc/images/fill/infill-iso-2d-lattice.png differ
diff --git a/doc/images/fill/infill-iso-3d-honeycomb.png b/doc/images/fill/infill-iso-3d-honeycomb.png
new file mode 100644
index 0000000000..67eb5e0d77
Binary files /dev/null and b/doc/images/fill/infill-iso-3d-honeycomb.png differ
diff --git a/doc/images/fill/infill-iso-adaptative-cubic.png b/doc/images/fill/infill-iso-adaptative-cubic.png
new file mode 100644
index 0000000000..4beb64c377
Binary files /dev/null and b/doc/images/fill/infill-iso-adaptative-cubic.png differ
diff --git a/doc/images/fill/infill-iso-aligned-rectilinear.png b/doc/images/fill/infill-iso-aligned-rectilinear.png
new file mode 100644
index 0000000000..e337e57353
Binary files /dev/null and b/doc/images/fill/infill-iso-aligned-rectilinear.png differ
diff --git a/doc/images/fill/infill-iso-archimedean-chords.png b/doc/images/fill/infill-iso-archimedean-chords.png
new file mode 100644
index 0000000000..6d189394dc
Binary files /dev/null and b/doc/images/fill/infill-iso-archimedean-chords.png differ
diff --git a/doc/images/fill/infill-iso-concentric.png b/doc/images/fill/infill-iso-concentric.png
new file mode 100644
index 0000000000..6886c1f7fb
Binary files /dev/null and b/doc/images/fill/infill-iso-concentric.png differ
diff --git a/doc/images/fill/infill-iso-cross-hatch.png b/doc/images/fill/infill-iso-cross-hatch.png
new file mode 100644
index 0000000000..218f2dd3e9
Binary files /dev/null and b/doc/images/fill/infill-iso-cross-hatch.png differ
diff --git a/doc/images/fill/infill-iso-cubic.png b/doc/images/fill/infill-iso-cubic.png
new file mode 100644
index 0000000000..f0b834f36b
Binary files /dev/null and b/doc/images/fill/infill-iso-cubic.png differ
diff --git a/doc/images/fill/infill-iso-grid.png b/doc/images/fill/infill-iso-grid.png
new file mode 100644
index 0000000000..bcb7757209
Binary files /dev/null and b/doc/images/fill/infill-iso-grid.png differ
diff --git a/doc/images/fill/infill-iso-gyroid.png b/doc/images/fill/infill-iso-gyroid.png
new file mode 100644
index 0000000000..601abac68a
Binary files /dev/null and b/doc/images/fill/infill-iso-gyroid.png differ
diff --git a/doc/images/fill/infill-iso-hilbert-curve.png b/doc/images/fill/infill-iso-hilbert-curve.png
new file mode 100644
index 0000000000..ffee09e220
Binary files /dev/null and b/doc/images/fill/infill-iso-hilbert-curve.png differ
diff --git a/doc/images/fill/infill-iso-honeycomb.png b/doc/images/fill/infill-iso-honeycomb.png
new file mode 100644
index 0000000000..e36b8c6002
Binary files /dev/null and b/doc/images/fill/infill-iso-honeycomb.png differ
diff --git a/doc/images/fill/infill-iso-lightning.png b/doc/images/fill/infill-iso-lightning.png
new file mode 100644
index 0000000000..7b40354b33
Binary files /dev/null and b/doc/images/fill/infill-iso-lightning.png differ
diff --git a/doc/images/fill/infill-iso-line.png b/doc/images/fill/infill-iso-line.png
new file mode 100644
index 0000000000..5ea5179eb4
Binary files /dev/null and b/doc/images/fill/infill-iso-line.png differ
diff --git a/doc/images/fill/infill-iso-octagram-spiral.png b/doc/images/fill/infill-iso-octagram-spiral.png
new file mode 100644
index 0000000000..32c185aa75
Binary files /dev/null and b/doc/images/fill/infill-iso-octagram-spiral.png differ
diff --git a/doc/images/fill/infill-iso-quarter-cubic.png b/doc/images/fill/infill-iso-quarter-cubic.png
new file mode 100644
index 0000000000..499406de54
Binary files /dev/null and b/doc/images/fill/infill-iso-quarter-cubic.png differ
diff --git a/doc/images/fill/infill-iso-rectilinear.png b/doc/images/fill/infill-iso-rectilinear.png
new file mode 100644
index 0000000000..41950f3b2a
Binary files /dev/null and b/doc/images/fill/infill-iso-rectilinear.png differ
diff --git a/doc/images/fill/infill-iso-support-cubic.png b/doc/images/fill/infill-iso-support-cubic.png
new file mode 100644
index 0000000000..c09a3c599a
Binary files /dev/null and b/doc/images/fill/infill-iso-support-cubic.png differ
diff --git a/doc/images/fill/infill-iso-tri-hexagon.png b/doc/images/fill/infill-iso-tri-hexagon.png
new file mode 100644
index 0000000000..4ac5baf9eb
Binary files /dev/null and b/doc/images/fill/infill-iso-tri-hexagon.png differ
diff --git a/doc/images/fill/infill-iso-triangles.png b/doc/images/fill/infill-iso-triangles.png
new file mode 100644
index 0000000000..005194feed
Binary files /dev/null and b/doc/images/fill/infill-iso-triangles.png differ
diff --git a/doc/images/fill/infill-top-2d-lacttice.png b/doc/images/fill/infill-top-2d-lacttice.png
new file mode 100644
index 0000000000..519d48083a
Binary files /dev/null and b/doc/images/fill/infill-top-2d-lacttice.png differ
diff --git a/doc/images/fill/infill-top-3d-honeycomb.png b/doc/images/fill/infill-top-3d-honeycomb.png
new file mode 100644
index 0000000000..1012797422
Binary files /dev/null and b/doc/images/fill/infill-top-3d-honeycomb.png differ
diff --git a/doc/images/fill/infill-top-adaptative-cubic.png b/doc/images/fill/infill-top-adaptative-cubic.png
new file mode 100644
index 0000000000..be4aa713fd
Binary files /dev/null and b/doc/images/fill/infill-top-adaptative-cubic.png differ
diff --git a/doc/images/fill/infill-top-aligned-rectilinear.png b/doc/images/fill/infill-top-aligned-rectilinear.png
new file mode 100644
index 0000000000..aef72519bc
Binary files /dev/null and b/doc/images/fill/infill-top-aligned-rectilinear.png differ
diff --git a/doc/images/fill/infill-top-archimedean-chords.png b/doc/images/fill/infill-top-archimedean-chords.png
new file mode 100644
index 0000000000..a9c1fd1d33
Binary files /dev/null and b/doc/images/fill/infill-top-archimedean-chords.png differ
diff --git a/doc/images/fill/infill-top-concentric.png b/doc/images/fill/infill-top-concentric.png
new file mode 100644
index 0000000000..3771afb438
Binary files /dev/null and b/doc/images/fill/infill-top-concentric.png differ
diff --git a/doc/images/fill/infill-top-cross-hatch.png b/doc/images/fill/infill-top-cross-hatch.png
new file mode 100644
index 0000000000..96b95e2f79
Binary files /dev/null and b/doc/images/fill/infill-top-cross-hatch.png differ
diff --git a/doc/images/fill/infill-top-cubic.png b/doc/images/fill/infill-top-cubic.png
new file mode 100644
index 0000000000..08f11ca01c
Binary files /dev/null and b/doc/images/fill/infill-top-cubic.png differ
diff --git a/doc/images/fill/infill-top-grid.png b/doc/images/fill/infill-top-grid.png
new file mode 100644
index 0000000000..b6b3460191
Binary files /dev/null and b/doc/images/fill/infill-top-grid.png differ
diff --git a/doc/images/fill/infill-top-gyroid.png b/doc/images/fill/infill-top-gyroid.png
new file mode 100644
index 0000000000..211a697767
Binary files /dev/null and b/doc/images/fill/infill-top-gyroid.png differ
diff --git a/doc/images/fill/infill-top-hilbert-curve.png b/doc/images/fill/infill-top-hilbert-curve.png
new file mode 100644
index 0000000000..86bcd58d45
Binary files /dev/null and b/doc/images/fill/infill-top-hilbert-curve.png differ
diff --git a/doc/images/fill/infill-top-honeycomb.png b/doc/images/fill/infill-top-honeycomb.png
new file mode 100644
index 0000000000..402d29b8f7
Binary files /dev/null and b/doc/images/fill/infill-top-honeycomb.png differ
diff --git a/doc/images/fill/infill-top-lightning.png b/doc/images/fill/infill-top-lightning.png
new file mode 100644
index 0000000000..e7c4a5a33d
Binary files /dev/null and b/doc/images/fill/infill-top-lightning.png differ
diff --git a/doc/images/fill/infill-top-line.png b/doc/images/fill/infill-top-line.png
new file mode 100644
index 0000000000..3aeaa82e78
Binary files /dev/null and b/doc/images/fill/infill-top-line.png differ
diff --git a/doc/images/fill/infill-top-octagram-spiral.png b/doc/images/fill/infill-top-octagram-spiral.png
new file mode 100644
index 0000000000..d384b213a6
Binary files /dev/null and b/doc/images/fill/infill-top-octagram-spiral.png differ
diff --git a/doc/images/fill/infill-top-quartered-cubic.png b/doc/images/fill/infill-top-quartered-cubic.png
new file mode 100644
index 0000000000..4d2fe6e673
Binary files /dev/null and b/doc/images/fill/infill-top-quartered-cubic.png differ
diff --git a/doc/images/fill/infill-top-rectilinear.png b/doc/images/fill/infill-top-rectilinear.png
new file mode 100644
index 0000000000..a77ce1343e
Binary files /dev/null and b/doc/images/fill/infill-top-rectilinear.png differ
diff --git a/doc/images/fill/infill-top-support-cubic.png b/doc/images/fill/infill-top-support-cubic.png
new file mode 100644
index 0000000000..8dfe1bf079
Binary files /dev/null and b/doc/images/fill/infill-top-support-cubic.png differ
diff --git a/doc/images/fill/infill-top-tri-hexagon.png b/doc/images/fill/infill-top-tri-hexagon.png
new file mode 100644
index 0000000000..43ad5b8675
Binary files /dev/null and b/doc/images/fill/infill-top-tri-hexagon.png differ
diff --git a/doc/images/fill/infill-top-triangles.png b/doc/images/fill/infill-top-triangles.png
new file mode 100644
index 0000000000..196758829b
Binary files /dev/null and b/doc/images/fill/infill-top-triangles.png differ
diff --git a/doc/images/flowcalibration_update_flowrate.jpg b/doc/images/flowcalibration_update_flowrate.jpg
deleted file mode 100644
index f52250be42..0000000000
Binary files a/doc/images/flowcalibration_update_flowrate.jpg and /dev/null differ
diff --git a/doc/images/full-sidebar.png b/doc/images/full-sidebar.png
index 316fd2e95f..2ee3f86cb1 100644
Binary files a/doc/images/full-sidebar.png and b/doc/images/full-sidebar.png differ
diff --git a/doc/images/pa/apa-expected-results.jpg b/doc/images/pa/apa-expected-results.jpg
new file mode 100644
index 0000000000..cc2a669a34
Binary files /dev/null and b/doc/images/pa/apa-expected-results.jpg differ
diff --git a/doc/images/pa/apa-expected-seam.jpg b/doc/images/pa/apa-expected-seam.jpg
new file mode 100644
index 0000000000..f16a522621
Binary files /dev/null and b/doc/images/pa/apa-expected-seam.jpg differ
diff --git a/doc/images/pa/apa-expected-solid-infill.jpg b/doc/images/pa/apa-expected-solid-infill.jpg
new file mode 100644
index 0000000000..e74a049f7d
Binary files /dev/null and b/doc/images/pa/apa-expected-solid-infill.jpg differ
diff --git a/doc/images/pa/apa-identify-optimal.jpg b/doc/images/pa/apa-identify-optimal.jpg
new file mode 100644
index 0000000000..29ccecf190
Binary files /dev/null and b/doc/images/pa/apa-identify-optimal.jpg differ
diff --git a/doc/images/pa/apa-identify-too-high.jpg b/doc/images/pa/apa-identify-too-high.jpg
new file mode 100644
index 0000000000..66a1ee9db2
Binary files /dev/null and b/doc/images/pa/apa-identify-too-high.jpg differ
diff --git a/doc/images/pa/apa-identify-too-low.jpg b/doc/images/pa/apa-identify-too-low.jpg
new file mode 100644
index 0000000000..0c7e720e91
Binary files /dev/null and b/doc/images/pa/apa-identify-too-low.jpg differ
diff --git a/doc/images/pa/apa-material-config.png b/doc/images/pa/apa-material-config.png
new file mode 100644
index 0000000000..2dfcb894e7
Binary files /dev/null and b/doc/images/pa/apa-material-config.png differ
diff --git a/doc/images/pa/apa-profile.png b/doc/images/pa/apa-profile.png
new file mode 100644
index 0000000000..a150316fb2
Binary files /dev/null and b/doc/images/pa/apa-profile.png differ
diff --git a/doc/images/pa/apa-setup-result-acceleration-jerk.png b/doc/images/pa/apa-setup-result-acceleration-jerk.png
new file mode 100644
index 0000000000..659d2dbd69
Binary files /dev/null and b/doc/images/pa/apa-setup-result-acceleration-jerk.png differ
diff --git a/doc/images/pa/apa-setup-result-speed.png b/doc/images/pa/apa-setup-result-speed.png
new file mode 100644
index 0000000000..4117c1337c
Binary files /dev/null and b/doc/images/pa/apa-setup-result-speed.png differ
diff --git a/doc/images/pa/apa-test.png b/doc/images/pa/apa-test.png
new file mode 100644
index 0000000000..5e5cf76dc6
Binary files /dev/null and b/doc/images/pa/apa-test.png differ
diff --git a/doc/images/pa/apa-test210.jpg b/doc/images/pa/apa-test210.jpg
new file mode 100644
index 0000000000..892c338c9d
Binary files /dev/null and b/doc/images/pa/apa-test210.jpg differ
diff --git a/doc/images/pa/apa-unexpected-solid-infill.jpg b/doc/images/pa/apa-unexpected-solid-infill.jpg
new file mode 100644
index 0000000000..a9ce880394
Binary files /dev/null and b/doc/images/pa/apa-unexpected-solid-infill.jpg differ
diff --git a/doc/images/pa/pa-line-0-016.jpg b/doc/images/pa/pa-line-0-016.jpg
new file mode 100644
index 0000000000..0b3f511838
Binary files /dev/null and b/doc/images/pa/pa-line-0-016.jpg differ
diff --git a/doc/images/pa/pa-line.gif b/doc/images/pa/pa-line.gif
new file mode 100644
index 0000000000..aace86d431
Binary files /dev/null and b/doc/images/pa/pa-line.gif differ
diff --git a/doc/images/pa/pa-lines.png b/doc/images/pa/pa-lines.png
new file mode 100644
index 0000000000..23c1a7a49f
Binary files /dev/null and b/doc/images/pa/pa-lines.png differ
diff --git a/doc/images/pa/pa-pattern-batch-objects.png b/doc/images/pa/pa-pattern-batch-objects.png
index aed9eab40f..d5d924d9e9 100644
Binary files a/doc/images/pa/pa-pattern-batch-objects.png and b/doc/images/pa/pa-pattern-batch-objects.png differ
diff --git a/doc/images/pa/pa-pattern-batch.png b/doc/images/pa/pa-pattern-batch.png
index 8a8fe6c18f..bdacef279b 100644
Binary files a/doc/images/pa/pa-pattern-batch.png and b/doc/images/pa/pa-pattern-batch.png differ
diff --git a/doc/images/pa/pa-pattern-general.png b/doc/images/pa/pa-pattern-general.png
new file mode 100644
index 0000000000..23c0141f55
Binary files /dev/null and b/doc/images/pa/pa-pattern-general.png differ
diff --git a/doc/images/pa/pa-pattern-single.png b/doc/images/pa/pa-pattern-single.png
index 9c45170281..e84e85c3b3 100644
Binary files a/doc/images/pa/pa-pattern-single.png and b/doc/images/pa/pa-pattern-single.png differ
diff --git a/doc/images/pa/pa-tower-measure.jpg b/doc/images/pa/pa-tower-measure.jpg
new file mode 100644
index 0000000000..d1fd3c49bc
Binary files /dev/null and b/doc/images/pa/pa-tower-measure.jpg differ
diff --git a/doc/images/pa/pa-tower.jpg b/doc/images/pa/pa-tower.jpg
new file mode 100644
index 0000000000..0a4c5b0edc
Binary files /dev/null and b/doc/images/pa/pa-tower.jpg differ
diff --git a/doc/images/pa/pressure_advance_enable.png b/doc/images/pa/pressure_advance_enable.png
new file mode 100644
index 0000000000..478061d9f6
Binary files /dev/null and b/doc/images/pa/pressure_advance_enable.png differ
diff --git a/doc/images/precise_wall.png b/doc/images/precise_wall.png
deleted file mode 100644
index e8f237a591..0000000000
Binary files a/doc/images/precise_wall.png and /dev/null differ
diff --git a/doc/images/printer-preset.png b/doc/images/printer-preset.png
index d4d73718a1..fc0d567c94 100644
Binary files a/doc/images/printer-preset.png and b/doc/images/printer-preset.png differ
diff --git a/doc/images/process-preset.png b/doc/images/process-preset.png
index 2a2fc53db3..02f8f3a7fd 100644
Binary files a/doc/images/process-preset.png and b/doc/images/process-preset.png differ
diff --git a/doc/images/retraction_test.gif b/doc/images/retraction/retraction_test.gif
similarity index 100%
rename from doc/images/retraction_test.gif
rename to doc/images/retraction/retraction_test.gif
diff --git a/doc/images/retraction/retraction_test_menu.png b/doc/images/retraction/retraction_test_menu.png
new file mode 100644
index 0000000000..dd2940de72
Binary files /dev/null and b/doc/images/retraction/retraction_test_menu.png differ
diff --git a/doc/images/retraction/retraction_test_print.jpg b/doc/images/retraction/retraction_test_print.jpg
new file mode 100644
index 0000000000..716496f483
Binary files /dev/null and b/doc/images/retraction/retraction_test_print.jpg differ
diff --git a/doc/images/retraction_test_dlg.png b/doc/images/retraction_test_dlg.png
deleted file mode 100644
index 85dcfdd2c1..0000000000
Binary files a/doc/images/retraction_test_dlg.png and /dev/null differ
diff --git a/doc/images/retraction_test_print.jpg b/doc/images/retraction_test_print.jpg
deleted file mode 100644
index b60eff8c91..0000000000
Binary files a/doc/images/retraction_test_print.jpg and /dev/null differ
diff --git a/doc/images/seam/seam-aligned.png b/doc/images/seam/seam-aligned.png
new file mode 100644
index 0000000000..824950f2dd
Binary files /dev/null and b/doc/images/seam/seam-aligned.png differ
diff --git a/doc/images/seam/seam-back.png b/doc/images/seam/seam-back.png
new file mode 100644
index 0000000000..7ff54e0551
Binary files /dev/null and b/doc/images/seam/seam-back.png differ
diff --git a/doc/images/seam/seam-gap.png b/doc/images/seam/seam-gap.png
new file mode 100644
index 0000000000..fcd8a631bf
Binary files /dev/null and b/doc/images/seam/seam-gap.png differ
diff --git a/doc/images/seam/seam-nearest.png b/doc/images/seam/seam-nearest.png
new file mode 100644
index 0000000000..7691edc5c4
Binary files /dev/null and b/doc/images/seam/seam-nearest.png differ
diff --git a/doc/images/seam/seam-quality.jpg b/doc/images/seam/seam-quality.jpg
new file mode 100644
index 0000000000..2e3d76195c
Binary files /dev/null and b/doc/images/seam/seam-quality.jpg differ
diff --git a/doc/images/seam/seam-random.png b/doc/images/seam/seam-random.png
new file mode 100644
index 0000000000..daba4a2c72
Binary files /dev/null and b/doc/images/seam/seam-random.png differ
diff --git a/doc/images/seam/seam-wipe-on-loop.png b/doc/images/seam/seam-wipe-on-loop.png
new file mode 100644
index 0000000000..6b10c051fb
Binary files /dev/null and b/doc/images/seam/seam-wipe-on-loop.png differ
diff --git a/doc/images/seam/seam-wipe-on-loops-options.png b/doc/images/seam/seam-wipe-on-loops-options.png
new file mode 100644
index 0000000000..3d6c900025
Binary files /dev/null and b/doc/images/seam/seam-wipe-on-loops-options.png differ
diff --git a/doc/images/slicing_call_heirarchy.svg b/doc/images/slicing_call_heirarchy.svg
deleted file mode 100644
index 2a2ffbf847..0000000000
--- a/doc/images/slicing_call_heirarchy.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/doc/images/tab-popup.png b/doc/images/tab-popup.png
index e31f47dc88..8a6f032887 100644
Binary files a/doc/images/tab-popup.png and b/doc/images/tab-popup.png differ
diff --git a/doc/images/tolerance_hole.jpg b/doc/images/tolerance_hole.jpg
deleted file mode 100644
index 041e271984..0000000000
Binary files a/doc/images/tolerance_hole.jpg and /dev/null differ
diff --git a/doc/pellet-flow-coefficient.md b/doc/pellet-flow-coefficient.md
index 8e91312ad6..a3be0bda40 100644
--- a/doc/pellet-flow-coefficient.md
+++ b/doc/pellet-flow-coefficient.md
@@ -1,3 +1,5 @@
+# Pellet Flow Coefficient
+
Large format printers with print volumes in the order of 1m^3 generally use pellets for printing.
The overall tech is very similar to FDM printing.
It is FDM printing, but instead of filaments, it uses pellets.
@@ -15,7 +17,9 @@ for your own pellets for a particular printer model.
We are translating the pellet_flow_coefficient into filament_diameter so that everything works just like it
does already with very minor adjustments.
-filament_diameter = sqrt( (4 \* pellet_flow_coefficient) / PI )
+```math
+\text{filament\_diameter} = \sqrt{\frac{4 \times \text{pellet\_flow\_coefficient}}{\pi}}
+```
sqrt just makes the relationship between flow_coefficient and volume linear.
diff --git a/doc/precise-z-height.md b/doc/precise-z-height.md
index d7905e8baf..fa862bf922 100644
--- a/doc/precise-z-height.md
+++ b/doc/precise-z-height.md
@@ -1,6 +1,15 @@
+# Precise Z Height Adjustment
+
This feature ensures the accurate Z height of the model after slicing, even if the model height is not a multiple of the layer height.
-For example, slicing a 20mm x 20mm x 20.1mm cube with a layer height of 0.2mm would typically result in a final height of 20.2mm due to the layer height increments.
+For example, slicing a 20mm x 20mm x 20.1mm cube with a layer height of 0.2mm would typically result in a final height of 20.2mm due to the layer height increments.
By enabling this parameter, the layer height of the last five layers is adjusted so that the final sliced height matches the actual object height, resulting in an accurate 20.1mm (as shown in the picture).
-
+
+- **Precise Z Height Off**
+
+ 
+
+- **Precise Z Height On**
+
+ 
diff --git a/doc/print_settings/calibration/Calibration.md b/doc/print_settings/calibration/Calibration.md
new file mode 100644
index 0000000000..5c4e6820cd
--- /dev/null
+++ b/doc/print_settings/calibration/Calibration.md
@@ -0,0 +1,65 @@
+# Calibration Guide
+
+This guide offers a structured and comprehensive overview of the calibration process for Orca Slicer.
+
+It covers key aspects such as flow rate, pressure advance, temperature towers, retraction tests, and advanced calibration techniques. Each section includes step-by-step instructions and visuals to help you better understand and carry out each calibration effectively.
+
+To access the calibration features, you can find them in the **Calibration** section of the Orca Slicer interface.
+
+
+
+> [!IMPORTANT]
+> After completing the calibration process, remember to create a new project in order to exit the calibration mode.
+
+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.
+
+
+
+2. **[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.
+
+
+
+1. **[Pressure Advance](pressure-advance-calib):** Calibrate the pressure advance settings to improve print quality and reduce artifacts caused by pressure fluctuations in the nozzle.
+
+ - **[Adaptative 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.
+
+
+
+2. **[Retraction](retraction-calib):** Calibrate the retraction settings to minimize stringing and improve print quality. Doing this after Flow and
+
+
+
+3. **[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.
+
+
+
+4. **[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 such as under-extrusion or over-extrusion.
+
+
+
+5. **[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. **[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.
+
+
+
+### VFA
+
+Vertical Fine Artifacts (VFA) are small artifacts that can occur on the surface of a 3D print, particularly in areas where there are sharp corners or changes in direction. These artifacts can be caused by a variety of factors, including mechanical vibrations, resonance, and other factors that can affect the quality of the print.
+Because of the nature of these artifacts the methods to reduce them can be mechanical such as changing motors, belts and pulleys or with advanced calibrations such as Jerk/[Junction Deviation](junction-deviation) corrections or [Input Shaping](input-shaping).
+
+---
+
+_Credits:_
+
+- _The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer)._
+- _The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html)._
+- _The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html)._
+- _The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076)._
+- _The max flowrate test was inspired by Stefan (CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure)._
+- _ZV Input Shaping is inspired by [Marlin Input Shaping](https://marlinfw.org/docs/features/input_shaping.html) and [Ringing Tower 3D STL](https://marlinfw.org/assets/stl/ringing_tower.stl)._
+- _ChatGPT_ ;)
diff --git a/doc/adaptive-pressure-advance.md b/doc/print_settings/calibration/adaptive-pressure-advance-calib.md
similarity index 76%
rename from doc/adaptive-pressure-advance.md
rename to doc/print_settings/calibration/adaptive-pressure-advance-calib.md
index 6a589d6f1c..aa5add89e1 100644
--- a/doc/adaptive-pressure-advance.md
+++ b/doc/print_settings/calibration/adaptive-pressure-advance-calib.md
@@ -13,12 +13,11 @@ This feature introduces the below options under the filament settings:
4. **Adaptive pressure advance measurements:** This field contains the calibration values used to generate the pressure advance profile for the nozzle/printer. Input sets of pressure advance (PA) values and the corresponding volumetric flow speeds and accelerations they were measured at, separated by a comma. Add one set of values per line. More information on how to calibrate the model follows in the sections below.
5. **Pressure advance:** The old field is still needed and is required to be populated with a PA value. A “good enough” median PA value should be entered here, as this will act as a fallback value when performing tool changes, printing a purge/wipe tower for multi-color prints as well as a fallback in case the model fails to identify an appropriate value (unlikely but it’s the ultimate backstop).
-
-
+
## Pre-Requisites
-This feature has been tested with Klipper-based printers. While it may work with Marlin or Bambu lab printers, it is currently untested with them. It shouldn’t adversely affect the machine; however, the quality results from enabling it are not validated.
+This feature has been tested with Klipper-based printers. While it may work with Marlin or Bambu lab printers, it is currently untested with them. It shouldn’t adversely affect the machine; however, the quality results from enabling it are not validated.
**Older versions of Klipper used to stutter when pressure advance was changed while the toolhead was in motion. This has been fixed with the latest Klipper firmware releases. Therefore, make sure your Klipper installation is updated to the latest version before enabling this feature, in order to avoid any adverse quality impacts.**
@@ -32,29 +31,28 @@ Following experimentation, it has been noticed that the optimal pressure advance
2. The larger the layer height (hence the higher the volumetric flow rate requested from the toolhead).
3. The higher the print acceleration is.
-What this means is that we never get ideal PA values for each print feature, especially when they vary drastically in speed and acceleration. We can tune PA for a faster print speed (flow) but compromise on corner sharpness for slower speeds or tune PA for corner sharpness and deal with slight corner-perimeter separation in faster speeds. The same goes for accelerations as well as different layer heights.
+What this means is that we never get ideal PA values for each print feature, especially when they vary drastically in speed and acceleration. We can tune PA for a faster print speed (flow) but compromise on corner sharpness for slower speeds or tune PA for corner sharpness and deal with slight corner-perimeter separation in faster speeds. The same goes for accelerations as well as different layer heights.
-This compromise usually means that we settle for tuning an "in-between" PA value between slower external features and faster internal features so we don't get gaps, but also not get too much bulging in external perimeters.
+This compromise usually means that we settle for tuning an "in-between" PA value between slower external features and faster internal features so we don't get gaps, but also not get too much bulging in external perimeters.
**However, what this also means is that if you are printing with a single layer height, single speed, and acceleration, there is no need to enable this feature.**
-Adaptive pressure advance aims to address this limitation by implementing a completely different method of setting pressure advance. **Following a set of PA calibration tests done at different flow rates (speeds and layer heights) and accelerations, a pressure advance model is calculated by the slicer.** Then that model is used to emit the best fit PA for any arbitrary feature flow rate (speed) and acceleration used in the print process.
+Adaptive pressure advance aims to address this limitation by implementing a completely different method of setting pressure advance. **Following a set of PA calibration tests done at different flow rates (speeds and layer heights) and accelerations, a pressure advance model is calculated by the slicer.** Then that model is used to emit the best fit PA for any arbitrary feature flow rate (speed) and acceleration used in the print process.
-In addition, it means that you only need to tune this feature once and print across different layer heights with good PA performance.
+In addition, it means that you only need to tune this feature once and print across different layer heights with good PA performance.
Finally, if during calibration you notice that there is little to no variance between the PA tests, this feature is redundant for you. **From experiments, high flow nozzles fitted on high-speed core XY printers appear to benefit the most from this feature as they print with a larger range of flow rates and at a larger range of accelerations.**
### Expected results:
With this feature enabled there should be absolutely no bulge in the corners, just the smooth rounding caused by the square corner velocity of your printer.
-
+
In addition, seams should appear smooth with no bulging or under extrusion.
-
+
Solid infill should have no gaps, pinholes, or separation from the perimeters.
-
+
Compared to with this feature disabled, where the internal solid infill and external-internal perimeters show signs of separation and under extrusion, when PA is tuned for optimal external perimeter performance as shown below.
-
-
+
## How to calibrate the adaptive pressure advance model
@@ -65,9 +63,9 @@ Firstly, it is important to understand your printer speed and acceleration limit
1. **Upper acceleration range:** Do not attempt to calibrate adaptive PA for an acceleration that is larger than what the Klipper input shaper calibration tool recommends for your selected shaper. For example, if Klipper recommends an EI shaper with 4k maximum acceleration for your slowest axis (usually the Y axis), don’t calibrate adaptive PA beyond that value. This is because after 4k the input shaper smoothing is magnified and the perimeter separations that appear like PA issues are caused by the input shaper smoothing the shape of the corner. Basically, you’d be attempting to compensate for an input shaper artefact with PA.
2. **Upper print speed range:** The Ellis PA pattern test has been proven to be the most efficient and effective test to run to calibrate adaptive PA. It is fast and allows for a reasonably accurate and easy-to-read PA value. However, the size of the line segments is quite small, which means that for the faster print speeds and slower accelerations, the toolhead will not be able to reach the full flow rate that we are calibrating against. It is therefore generally not recommended to attempt calibration with a print speed of higher than ~200-250mm/sec and accelerations slower than 1k in the PA pattern test. If your lowest acceleration is higher than 1k, then proportionally higher maximum print speeds can be used.
-**Remember:** With the calibration process, we aim to create a PA – Flow Rate – Acceleration profile for the toolhead. As we cannot directly control flow rate, we use print speed as a proxy (higher speed -> higher flow).
+**Remember:** With the calibration process, we aim to create a PA – Flow Rate – Acceleration profile for the toolhead. As we cannot directly control flow rate, we use print speed as a proxy (higher speed -> higher flow).
-With the above in mind, let’s create a worked example to identify the optimal number of PA tests to calibrate the adaptive PA model.
+With the above in mind, let’s create a worked example to identify the optimal number of PA tests to calibrate the adaptive PA model.
**The below starting points are recommended for the majority of Core XY printers:**
@@ -95,18 +93,19 @@ For this example, let’s assume that the baseline number of tests is adequate f
We, therefore, need to run 12 PA tests as below:
**Speed – Acceleration**
- 1. 50 – 1k
- 2. 100 – 1k
- 3. 150 – 1k
- 4. 200 – 1k
- 5. 50 – 2k
- 6. 100 – 2k
- 7. 150 – 2k
- 8. 200 – 2k
- 9. 50 – 4k
- 10. 100 – 4k
- 11. 150 – 4k
- 12. 200 – 4k
+
+1. 50 – 1k
+2. 100 – 1k
+3. 150 – 1k
+4. 200 – 1k
+5. 50 – 2k
+6. 100 – 2k
+7. 150 – 2k
+8. 200 – 2k
+9. 50 – 4k
+10. 100 – 4k
+11. 150 – 4k
+12. 200 – 4k
### Identifying the flow rates from the print speed
@@ -114,91 +113,104 @@ We, therefore, need to run 12 PA tests as below:
Test parameters needed to build adaptive PA table are printed on the test sample:
-
+
Test sample above was done with acceleration 12000 mm/s² and flow rate 27.13 mm³/s
-
#### OrcaSlicer 2.1.0 and older.
As mentioned earlier, **the print speed is used as a proxy to vary the extrusion flow rate**. Once your PA test is set up, change the gcode preview to “flow” and move the horizontal slider over one of the herringbone patterns and take note of the flow rate for different speeds.
-
+
### Running the tests
#### General tips
-It is recommended that the PA step is set to a small value, to allow you to make meaningful distinctions between the different tests – **therefore a PA step value of 0.001 is recommended. **
+It is recommended that the PA step is set to a small value, to allow you to make meaningful distinctions between the different tests – **therefore a PA step value of 0.001 is recommended. **
-**Set the end PA to a value high enough to start showing perimeter separation for the lowest flow (print speed) and acceleration test.** For example, for a Voron 350 using Revo HF, the maximum value was set to 0.05 as that was sufficient to show perimeter separation even at the slowest flow rates and accelerations.
+**Set the end PA to a value high enough to start showing perimeter separation for the lowest flow (print speed) and acceleration test.** For example, for a Voron 350 using Revo HF, the maximum value was set to 0.05 as that was sufficient to show perimeter separation even at the slowest flow rates and accelerations.
**If the test is too big to fit on the build plate, increase your starting PA value or the PA step value accordingly until the test can fit.** If the lowest value becomes too high and there is no ideal PA present in the test, focus on increasing the PA step value to reduce the number of herringbones printed (hence the size of the print).
-
+
#### OrcaSlicer 2.3.0 and newer
PA pattern calibration configuration window have been changed to simplify test setup. Now all is needed is to fill list of accelerations and speeds into relevant fields of the calibration window:
-
+
Test patterns generated for each acceleration-speed pair and all parameters are set accordingly. No additional actions needed from user side. Just slice and print all plates generated.
-Refer to [Calibration Guide](./Calibration) for more details on batch mode calibration.
+Refer to [Calibration Guide](Calibration) for more details on batch mode calibration.
#### OrcaSlicer 2.2.0 and older
Setup your PA test as usual from the calibration menu in Orca slicer. Once setup, your PA test should look like the below:
-
-
+
-Now input your identified print speeds and accelerations in the fields above and run the PA tests.
+
-**IMPORTANT:** Make sure your acceleration values are all the same in all text boxes. Same for the print speed values and Jerk (XY) values. Make sure your Jerk value is set to the external perimeter jerk used in your print profiles.
+Now input your identified print speeds and accelerations in the fields above and run the PA tests.
+
+
+> [!IMPORTANT]
+> Make sure your acceleration values are all the same in all text boxes. Same for the print speed values and Jerk (XY) values. Make sure your Jerk value is set to the external perimeter jerk used in your print profiles.
#### Test results processing
Now run the tests and note the optimal PA value, the flow, and the acceleration. You should produce a table like this:
-
+| Speed | Flow | Acceleration | PA | Model values |
+|-------|-------|--------------|-------|----------------------|
+| 50 | 3.84 | 1000 | 0.036 | 0.036 , 3.84 , 1000 |
+| 100 | 7.68 | 1000 | 0.036 | 0.036 , 7.68 , 1000 |
+| 150 | 11.51 | 1000 | 0.036 | 0.036 , 11.51 , 1000 |
+| 200 | 15.35 | 1000 | 0.036 | 0.036 , 15.35 , 1000 |
+| | | | | |
+| 50 | 3.84 | 2000 | 0.036 | 0.036 , 3.84 , 2000 |
+| 100 | 7.68 | 2000 | 0.03 | 0.03 , 7.68 , 2000 |
+| 150 | 11.51 | 2000 | 0.029 | 0.029 , 11.51 , 2000 |
+| 200 | 15.35 | 2000 | 0.028 | 0.028 , 15.35 , 2000 |
+| | | | | |
+| 50 | 3.84 | 4000 | 0.032 | 0.032 , 3.84 , 4000 |
+| 100 | 7.68 | 4000 | 0.028 | 0.028 , 7.68 , 4000 |
+| 150 | 11.51 | 4000 | 0.026 | 0.026 , 11.51 , 4000 |
+| 200 | 15.35 | 4000 | 0.024 | 0.024 , 15.35 , 4000 |
-Concatenate the PA value, the flow value, and the acceleration value into the final comma-separated sets to create the values entered in the model as shown above.
+Concatenate the PA value, the flow value, and the acceleration value into the final comma-separated sets to create the values entered in the model as shown above.
**You’re now done! The PA profile is created and calibrated!**
Remember to paste the values in the adaptive pressure advance measurements text box as shown below, and save your filament profile.
-
-
+
### Tips
#### Model input:
-The adaptive PA model built into the slicer is flexible enough to allow for as many or as few increments of flow and acceleration as you want. Ideally, you want at a minimum 3x data points for acceleration and flow in order to create a meaningful model.
+The adaptive PA model built into the slicer is flexible enough to allow for as many or as few increments of flow and acceleration as you want. Ideally, you want at a minimum 3x data points for acceleration and flow in order to create a meaningful model.
-However, if you don’t want to calibrate for flow, just run the acceleration tests and leave flow the same for each test (in which case you’ll input only 3 rows in the model text box). In this case, flow will be ignored when the model is used.
+However, if you don’t want to calibrate for flow, just run the acceleration tests and leave flow the same for each test (in which case you’ll input only 3 rows in the model text box). In this case, flow will be ignored when the model is used.
-Similarly for acceleration – in the above example you’ll input only 4 rows in the model text box, in which case acceleration will be ignored when the model is used.
+Similarly for acceleration – in the above example you’ll input only 4 rows in the model text box, in which case acceleration will be ignored when the model is used.
**However, make sure a triplet of values is always provided – PA value, Flow, Acceleration.**
#### Identifying the right PA:
-Higher acceleration and higher flow rate PA tests are easier to identify the optimal PA as the range of “good” values is much narrower. It’s evident where the PA is too large, as gaps start to appear in the corner and where PA is too low, as the corner starts bulging.
+Higher acceleration and higher flow rate PA tests are easier to identify the optimal PA as the range of “good” values is much narrower. It’s evident where the PA is too large, as gaps start to appear in the corner and where PA is too low, as the corner starts bulging.
However, the lower the flow rate and accelerations are, the range of good values is much wider. Having examined the PA tests even under a microscope, what is evident, is that if you can’t distinguish a value as being evidently better than another (i.e. sharper corner with no gaps) with the naked eye, then both values are correct. In which case, if you can’t find any meaningful difference, simply use the optimal values from the higher flow rates.
-- **Too high PA**
+- **Too high PA**
+
-
+- **Too low PA**
+
-- **Too low PA**
-
-
-
-- **Optimal PA**
-
-
+- **Optimal PA**
+
diff --git a/doc/print_settings/calibration/cornering-calib.md b/doc/print_settings/calibration/cornering-calib.md
new file mode 100644
index 0000000000..3fb0c1e94d
--- /dev/null
+++ b/doc/print_settings/calibration/cornering-calib.md
@@ -0,0 +1,60 @@
+# Cornering
+
+Cornering is a critical aspect of 3D printing that affects the quality and accuracy of prints. It refers to how the printer handles changes in direction during movement, particularly at corners and curves. Proper cornering settings can help reduce artifacts like ringing, ghosting, and overshooting, leading to cleaner and more precise prints.
+
+## Jerk
+
+TODO: Jerk calibration not implemented yet.
+
+## Junction Deviation
+
+Junction Deviation is the default method for controlling cornering speed in MarlinFW (Marlin2) printers.
+Higher values result in more aggressive cornering speeds, while lower values produce smoother, more controlled cornering.
+The default value in Marlin is typically set to 0.08mm, which may be too high for some printers, potentially causing ringing. Consider lowering this value to reduce ringing, but avoid setting it too low, as this could lead to excessively slow cornering speeds.
+
+1. Pre-requisites:
+ 1. Check if your printer has Junction Deviation enabled. You can do this by sending the command `M503` to your printer and looking for the line `Junction deviation: 0.25`.
+ 2. In OrcaSlicer, set:
+ 1. Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
+ 2. Speed high enough to trigger ringing (e.g., 100 mm/s).
+ 3. Use an opaque, high-gloss filament to make the ringing more visible.
+2. You need to print the Junction Deviation test.
+
+ 
+
+ 1. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
+
+ 
+ 
+
+ 2. It’s very likely that you’ll need to set values lower than 0.08 mm, as shown in the previous example. To determine a more accurate maximum JD value, you can print a new calibration tower with a maximum value set at the point where the corners start losing sharpness.
+ 3. Print the second Junction Deviation test with the new maximum value.
+
+ 
+
+ 4. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
+
+ 
+ 
+
+3. Save the settings
+ 1. Set your Maximun Junction Deviation value in [Printer settings/Motion ability/Jerk limitation].
+ 2. Use the following G-code to set the mm:
+ ```gcode
+ M205 J#JunctionDeviationValue
+ M500
+ ```
+ Example
+ ```gcode
+ M205 J0.012
+ M500
+ ```
+ 3. Recompile your MarlinFW
+ 1. In Configuration.h uncomment and set:
+ ```cpp
+ #define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edge
+ ```
+ 2. Check Classic Jerk is disabled (commented).
+ ```cpp
+ //#define CLASSIC_JERK
+ ```
diff --git a/doc/print_settings/calibration/flow-rate-calib.md b/doc/print_settings/calibration/flow-rate-calib.md
new file mode 100644
index 0000000000..45f0be0054
--- /dev/null
+++ b/doc/print_settings/calibration/flow-rate-calib.md
@@ -0,0 +1,36 @@
+# Flow rate
+
+The Flow Ratio determines how much filament is extruded and plays a key role in achieving high-quality prints. A properly calibrated flow ratio ensures consistent layer adhesion and accurate dimensions. If the flow ratio is too low, under-extrusion may occur, leading to gaps, weak layers, and poor structural integrity. On the other hand, a flow ratio that is too high can cause over-extrusion, resulting in excess material, rough surfaces, and dimensional inaccuracies.
+
+> [!WARNING]
+> **Bambulab Printers:** make sure you do not select the 'Flow calibration' option.
+> 
+
+> [!IMPORTANT]
+> PASS 1 and PASS 2 follow the older flow ratio formula `FlowRatio_old*(100 + modifier)/100`.
+> YOLO (Recommended) and YOLO (perfectist version) use a new system that is very simple `FlowRatio_old±modifier`.
+
+
+
+Calibrating the flow rate involves a two-step process.
+
+1. Select the printer, filament, and process you would like to use for the test.
+2. Select `Pass 1` in the `Calibration` menu
+3. A new project consisting of nine blocks will be created, each with a different flow rate modifier. Slice and print the project.
+4. Examine the blocks and determine which one has the smoothest top surface.
+ 
+
+ 
+
+5. Update the flow ratio in the filament settings using the following equation: `FlowRatio_old*(100 + modifier)/100`. If your previous flow ratio was `0.98` and you selected the block with a flow rate modifier of `+5`, the new value should be calculated as follows: `0.98x(100+5)/100 = 1.029`.** Remember** to save the filament profile.
+6. Perform the `Pass 2` calibration. This process is similar to `Pass 1`, but a new project with ten blocks will be generated. The flow rate modifiers for this project will range from `-9 to 0`.
+7. Repeat steps 4. and 5. In this case, if your previous flow ratio was 1.029 and you selected the block with a flow rate modifier of -6, the new value should be calculated as follows: `1.029x(100-6)/100 = 0.96726`. **Remember** to save the filament profile.
+
+
+
+
+
+
+
+> [!TIP]
+> @ItsDeidara has made a html to help with the calculation. Check it out if those equations give you a headache [here](https://github.com/ItsDeidara/Orca-Slicer-Assistant).
diff --git a/doc/print_settings/calibration/input-shaping-calib.md b/doc/print_settings/calibration/input-shaping-calib.md
new file mode 100644
index 0000000000..c2b6f8324c
--- /dev/null
+++ b/doc/print_settings/calibration/input-shaping-calib.md
@@ -0,0 +1,129 @@
+# Input Shaping
+
+During high-speed movements, vibrations can cause a phenomenon called "ringing," where periodic ripples appear on the print surface. Input Shaping provides an effective solution by counteracting these vibrations, improving print quality and reducing wear on components without needing to significantly lower print speeds.
+
+- [Klipper](#klipper)
+- [Marlin](#marlin)
+
+## Klipper
+
+### Resonance Compensation
+
+The Klipper Resonance Compensation is a set of Input Shaping modes that can be used to reduce ringing and improve print quality.
+Ussualy the recommended values modes are `MZV` or `EI` for Delta printers.
+
+1. Pre-requisites:
+ 1. In OrcaSlicer, set:
+ 1. Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
+ 2. Speed high enough to trigger ringing (e.g., 100 mm/s).
+
+> [!NOTE]
+> These settings depend on your printer's motion ability and the filament's max volumetric speed. If you can't reach speeds that cause ringing, try increasing the filament's max volumetric speed (avoid materials below 10 mm³/s).
+ 3. Jerk [Klipper Square Corner Velocity](https://www.klipper3d.org/Kinematics.html?h=square+corner+velocity#look-ahead) to 5 or a high value (e.g., 20).
+
+ 2. In printer settigs:
+ 1. Set the Shaper Type to `MZV` or `EI`.
+ ```gcode
+ SET_INPUT_SHAPER SHAPER_TYPE=MZV
+ ```
+ 2. Disable [Minimun Cruise Ratio](https://www.klipper3d.org/Kinematics.html#minimum-cruise-ratio) with:
+ ```gcode
+ SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0
+ ```
+ 3. Use an opaque, high-gloss filament to make the ringing more visible.
+2. Print the Input Shaping Frequency test with a range of frequencies.
+
+ 
+
+ 1. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
+
+ 
+ 
+
+ 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.
+
+> [!WARNING]
+> There is a chance you will need to set higher than 60Hz frequencies. Some printers with very rigid frames and excellent mechanics may exhibit frequencies exceeding 100Hz.
+
+3. Print the Damping test setting your X and Y frequency to the value you found in the previous step.
+
+ 
+
+ 1. Measure the X and Y heights and read the damping set at that point in Orca Slicer.
+
+ 
+ 
+
+> [!IMPORTANT]
+> Not all Resonance Compensation modes support damping.
+
+4. Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.
+5. Save the settings
+ 1. You need to go to the printer settings and set the X and Y frequency and damp to the value you found in the previous step.
+
+## Marlin
+
+### ZV Input Shaping
+
+ZV Input Shaping introduces an anti-vibration signal into the stepper motion for the X and Y axes. It works by splitting the step count into two halves: the first at half the frequency and the second as an "echo," delayed by half the ringing interval. This simple approach effectively reduces vibrations, improving print quality and allowing for higher speeds.
+
+1. Pre-requisites:
+ 1. In OrcaSlicer, set:
+ 1. Acceleration high enough to trigger ringing (e.g., 2000 mm/s²).
+ 2. Speed high enough to trigger ringing (e.g., 100 mm/s).
+
+> [!NOTE]
+> These settings depend on your printer's motion ability and the filament's max volumetric speed. If you can't reach speeds that cause ringing, try increasing the filament's max volumetric speed (avoid materials below 10 mm³/s).
+
+ 3. Jerk
+ 1. If using [Classic Jerk](https://marlinfw.org/docs/configuration/configuration.html#jerk-) use a high value (e.g., 20).
+ 2. If using [Junction Deviation](https://marlinfw.org/docs/features/junction_deviation.html) (new Marlin default mode) this test will use 0.25 (high enough to most printers).
+ 2. Use an opaque, high-gloss filament to make the ringing more visible.
+2. Print the Input Shaping Frequency test with a range of frequencies.
+
+ 
+
+ 1. Measure the X and Y heights and read the frequency set at that point in Orca Slicer.
+
+ 
+ 
+
+ 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.
+
+> [!WARNING]
+> There is a chance you will need to set higher than 60Hz frequencies. Some printers with very rigid frames and excellent mechanics may exhibit frequencies exceeding 100Hz.
+
+3. Print the Damping test setting your X and Y frequency to the value you found in the previous step.
+
+ 
+
+ 1. Measure the X and Y heights and read the damping set at that point in Orca Slicer.
+
+ 
+ 
+
+4. Restore your 3D Printer settings to avoid keep using high acceleration and jerk values.
+ 1. Reboot your printer.
+ 2. Use the following G-code to restore your printer settings:
+ ```gcode
+ M501
+ ```
+5. Save the settings
+ 1. You need to go to the printer settings and set the X and Y frequency and damp to the value you found in the previous step.
+ 2. Use the following G-code to set the frequency:
+ ```gcode
+ M593 X F#Xfrequency D#XDamping
+ M593 Y F#Yfrequency D#YDamping
+ M500
+ ```
+ Example
+ ```gcode
+ M593 X F37.25 D0.16
+ M593 Y F37.5 D0.06
+ M500
+ ```
+
+### Fixed-Time Motion
+
+WIP...
+This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information.
diff --git a/doc/print_settings/calibration/pressure-advance-calib.md b/doc/print_settings/calibration/pressure-advance-calib.md
new file mode 100644
index 0000000000..4b14ce7c4c
--- /dev/null
+++ b/doc/print_settings/calibration/pressure-advance-calib.md
@@ -0,0 +1,78 @@
+# Pressure Advance
+
+Pressure Advance is a feature that compensates for the lag in filament pressure within the nozzle during acceleration and deceleration. It helps improve print quality by reducing issues like blobs, oozing, and inconsistent extrusion, especially at corners or during fast movements.
+
+Orca Slicer includes three approaches for calibrating the pressure advance value. Each method has its own advantages and disadvantages. It is important to note that each method has two versions: one for a direct drive extruder and one for a Bowden extruder. Make sure to select the appropriate version for your test.
+
+> [!NOTE]
+> [Adaptive Pressure Advance Guide](adaptive-pressure-advance-calib)
+
+> [!WARNING]
+> **Marlin Printers:** Linear advance must be enabled in firmware (M900).
+> **Not all printers have it enabled by default.**
+
+> [!WARNING]
+> **Bambulab Printers:** make sure you do not select the 'Flow calibration' option.
+> 
+
+## Line method
+
+The line method is quick and straightforward to test. However, its accuracy highly depends on your first layer quality. It is suggested to turn on the bed mesh leveling for this test.
+Steps:
+
+1. Select the printer, filament, and process you would like to use for the test.
+2. Print the project and check the result. You can select the value of the most even line and update your PA value in the filament settings.
+3. In this test, a PA value of `0.016` appears to be optimal.
+
+ 
+
+ 
+
+ 
+
+ 
+
+## Pattern method
+
+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 Orca Slicer differences to note.
+
+Test configuration window allow user to generate one or more tests in a single projects. Multiple tests will be placed on each plate with extra plates added if needed.
+
+1. Single test \
+ 
+2. Batch mode testing (multiple tests on a sinle plate) \
+ 
+
+Once test generated, one or more small rectangular prisms could be found on the plate, one for each test case. This object serves a few purposes:
+
+1. The test pattern itself is added in as custom G-Code at each layer, same as you could do by hand actually. The rectangular prism gives us 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:**
+
+
+
+1. The prism acts as a handle, enabling you to move the test pattern wherever you'd like on the plate by moving the prism
+2. Each test object is pre-configured with target parameters which are reflected in the objects name. However, test parameters may be adjusted for each prism individually by referring to the object list pane:
+
+
+
+Next, Ellis' generator provided the ability to adjust specific printer, filament, and print profile settings. You can make these same changes in Orca Slicer 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:
+
+1. 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
+2. In terms of line width, the pattern only makes use of the `Default` and `First layer` widths
+3. In terms of speed, the pattern only uses the `First layer speed -> First layer` and `Other layers speed -> Outer wall` speeds
+4. The infill pattern beneath the numbers cannot be changed becuase 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 so not processed through the usual channels that would enable Orca to recognize it as infill
+
+## Tower method
+
+The tower method may take a bit more time to complete, but it does not rely on the quality of the first layer.
+The PA value for this test will be increased by 0.002 for every 1 mm increase in height. (**NOTE** 0.02 for Bowden)
+
+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.
+3. I selected a height of 8 mm for this case, so the pressure advance value should be calculated as `PressureAdvanceStart+(PressureAdvanceStep x measured)` example: `0+(0.002 x 8) = 0.016`.
+ 
+ 
+
+> [!TIP]
+> @ItsDeidara has made a html to help with the calculation. Check it out if those equations give you a headache [here](https://github.com/ItsDeidara/Orca-Slicer-Assistant).
diff --git a/doc/print_settings/calibration/retraction-calib.md b/doc/print_settings/calibration/retraction-calib.md
new file mode 100644
index 0000000000..7ec32ac40f
--- /dev/null
+++ b/doc/print_settings/calibration/retraction-calib.md
@@ -0,0 +1,20 @@
+# Retraction test
+
+Retraction is the process of pulling the filament back into the nozzle to prevent oozing and stringing during non-print moves. If the retraction length is too short, it may not effectively prevent oozing, while if it's too long, it can lead to clogs or under-extrusion. Filaments like PETG and TPU are more prone to stringing, so they may require longer retraction lengths compared to PLA or ABS.
+
+This test generates a retraction tower automatically. The retraction tower is a vertical structure with multiple notches, each printed at a different retraction length. After the print is complete, we can examine each section of the tower to determine the optimal retraction length for the filament. The optimal retraction length is the shortest one that produces the cleanest tower.
+
+
+
+
+
+In the dialog, you can select the start and end retraction length, as well as the retraction length increment step. The default values are 0mm for the start retraction length, 2mm for the end retraction length, and 0.1mm for the step. These values are suitable for most direct drive extruders. However, for Bowden extruders, you may want to increase the start and end retraction lengths to 1mm and 6mm, respectively, and set the step to 0.2mm.
+
+
+
+> [!NOTE]
+> When testing filaments such as PLA or ABS that have minimal oozing, the retraction settings can be highly effective. You may find that the retraction tower appears clean right from the start. In such situations, setting the retraction length to 0.2mm - 0.4mm using Orca Slicer should suffice.
+> On the other hand, if there is still a lot of stringing at the top of the tower, it is recommended to dry your filament and ensure that your nozzle is properly installed without any leaks.
+
+> [!TIP]
+> @ItsDeidara has made a html to help with the calculation. Check it out if those equations give you a headache [here](https://github.com/ItsDeidara/Orca-Slicer-Assistant).
diff --git a/doc/print_settings/calibration/temp-calib.md b/doc/print_settings/calibration/temp-calib.md
new file mode 100644
index 0000000000..084a0bd31b
--- /dev/null
+++ b/doc/print_settings/calibration/temp-calib.md
@@ -0,0 +1,31 @@
+# Temp Calibration
+
+In FDM 3D printing, the temperature is a critical factor that affects the quality of the print.
+There is no other calibration that can have such a big impact on the print quality as temperature calibration.
+
+## Nozzle Temp tower
+
+Nozzle temperature is one of the most important settings to calibrate for a successful print. The temperature of the nozzle affects the viscosity of the filament, which in turn affects how well it flows through the nozzle and adheres to the print bed. If the temperature is too low, the filament may not flow properly, leading to under-extrusion, poor layer adhesion and stringing. If the temperature is too high, the filament may degrade, over-extrude and produce stringing.
+
+
+
+
+
+Temp tower is a straightforward test. The temp tower is a vertical tower with multiple blocks, each printed at a different temperature. Once the print is complete, we can examine each block of the tower and determine the optimal temperature for the filament. The optimal temperature is the one that produces the highest quality print with the least amount of issues, such as stringing, layer adhesion, warping (overhang), and bridging.
+
+
+
+## Bed temperature
+
+Bed temperature is another important setting to calibrate for a successful print. The bed temperature affects the adhesion of the filament to the print bed, which in turn affects the overall quality of the print. If the bed temperature is too low, the filament may not adhere properly to the print bed, leading to warping and poor layer adhesion. If the bed temperature is too high, the filament may become too soft and lose its shape, leading to over-extrusion and poor layer adhesion.
+
+This setting doesn't have a specific test, but it is recommended to start with the recommended bed temperature for the filament and adjust it based on the filament manufacturer's recommendations.
+
+## Chamber temperature
+
+Chamber temperature can affect the print quality, especially for high-temperature filaments. A heated chamber can help to maintain a consistent temperature throughout the print, reducing the risk of warping and improving layer adhesion. However, it is important to monitor the chamber temperature to ensure that it does not exceed the recommended temperature for the filament being used.
+
+See: [Chamber temperature printer settings](Chamber-temperature)
+
+> [!NOTE]
+> Low temperature Filaments like PLA can clog the nozzle if the chamber temperature is too high.
diff --git a/doc/print_settings/calibration/tolerance-calib.md b/doc/print_settings/calibration/tolerance-calib.md
new file mode 100644
index 0000000000..a96e71dc4f
--- /dev/null
+++ b/doc/print_settings/calibration/tolerance-calib.md
@@ -0,0 +1,31 @@
+# Filament Tolerance Calibration
+
+Each filament and printer combination can result in different tolerances. This means that even using the same filament and print profile, tolerances may vary from one printer to another.
+To correct for these variations, Orca Slicer provides:
+
+- Filament Compensation:
+
+ - Shrinkage (XY)
+
+ 
+
+- Process Compensation:
+
+ - X-Y hole compensation
+ - X-Y contour compensation
+ - Precise wall
+ - Precise Z height
+
+ 
+
+## Orca Tolerance Test
+
+This calibration test is designed to evaluate the dimensional accuracy of your printer and filament. The model consists of a base with six hexagonal holes, each with a different tolerance: 0.0 mm, 0.05 mm, 0.1 mm, 0.2 mm, 0.3 mm, and 0.4 mm, as well as a hexagon-shaped tester.
+
+
+
+You can check the tolerance using either an M6 Allen key or the included printed hexagon tester.
+Use calipers to measure both the holes and the inner tester. Based on your results, you can fine-tune the X-Y hole compensation and X-Y contour compensation settings. Repeat the process until you achieve the desired precision.
+
+
+
diff --git a/doc/print_settings/calibration/volumetric-speed-calib.md b/doc/print_settings/calibration/volumetric-speed-calib.md
new file mode 100644
index 0000000000..e904e3e50c
--- /dev/null
+++ b/doc/print_settings/calibration/volumetric-speed-calib.md
@@ -0,0 +1,23 @@
+# Max Volumetric speed
+
+This is a test designed to calibrate the maximum volumetric speed of the specific filament. The generic or 3rd party filament types may not have the correct volumetric flow rate set in the filament. This test will help you to find the maximum volumetric speed of the filament.
+
+You will be promted to enter the settings for the test: start volumetric speed, end volumentric speed, and step. It is recommended to use the default values (5mm³/s start, 20mm³/s end, with a step of 0.5), unless you already have an idea of the lower or upper limit for your filament. Select "OK", slice the plate, and send it to the printer.
+
+Once printed, take note of where the layers begin to fail and where the quality begins to suffer. Pay attention to changes from matte to shiny as well.
+
+
+
+Using calipers or a ruler, measure the height of the print at that point. Use the following calculation to determine the correct max flow value: `start + (height-measured * step)` . For example in the photo below, and using the default setting values, the print quality began to suffer at 19mm measured, so the calculation would be: `5 + (19 * 0.5)` , or `13mm³/s` using the default values. Enter your number into the "Max volumetric speed" value in the filament settings.
+
+
+
+You can also return to OrcaSlicer in the "Preview" tab, make sure the color scheme "flow" is selected. Scroll down to the layer height that you measured, and click on the toolhead slider. This will indicate the max flow level for your filmanet.
+
+
+
+> [!NOTE]
+> You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.
+
+> [!TIP]
+> @ItsDeidara has made a html to help with the calculation. Check it out if those equations give you a headache [here](https://github.com/ItsDeidara/Orca-Slicer-Assistant).
diff --git a/doc/print_settings/quality/quality_settings_layer_height.md b/doc/print_settings/quality/quality_settings_layer_height.md
index 350738f379..acdf4effdd 100644
--- a/doc/print_settings/quality/quality_settings_layer_height.md
+++ b/doc/print_settings/quality/quality_settings_layer_height.md
@@ -3,9 +3,10 @@
This setting controls how tall each printed layer will be. Typically, a smaller layer height produces a better-looking part with less jagged edges, especially around curved sections (like the top of a sphere). However, lower layer heights mean more layers to print, proportionally increasing print time.
### Tips:
+
1. **The optimal layer height depends on the size of your nozzle**. The set layer height must not be taller than 80% of the diameter of the nozzle, else there is little "squish" between the printed layer and the layer below, leading to weaker parts.
-2. While technically there is no limit to how small a layer height one can use, **typically most printers struggle to print reliably with a layer height that is smaller than 20% of the nozzle diameter**. This is because with smaller layer heights, less material is extruded per mm and, at some point, the tolerances of the extruder system result in variations in the flow to such an extent that visible artifacts occur, especially if printing at high speeds.
+2. While technically there is no limit to how small a layer height one can use, **typically most printers struggle to print reliably with a layer height that is smaller than 20% of the nozzle diameter**. This is because with smaller layer heights, less material is extruded per mm and, at some point, the tolerances of the extruder system result in variations in the flow to such an extent that visible artifacts occur, especially if printing at high speeds.
For example, it is not uncommon to see "fish scale" type patterns on external walls when printing with a 0.4 mm nozzle at 0.08 mm layer height at speeds of 200mm/sec+. If you observe that pattern, simply increase your layer height to 30% of your nozzle height and/or slow down the print speed considerably.
@@ -14,4 +15,5 @@ For example, it is not uncommon to see "fish scale" type patterns on external wa
This setting controls how tall the first layer of the print will be. Typically, this is set to 50% of the nozzle width for optimal bed adhesion.
### Tip:
+
A thicker first layer is more forgiving to slight variations to the evenness of the build surface, resulting in a more uniform, visually, first layer. Set it to 0.25mm for a 0.4mm nozzle, for example, if your build surface is uneven or your printer has a slightly inconsistent z offset between print runs. However, as a rule of thumb, try not to exceed 65% of the nozzle width so as to not compromise bed adhesion too much.
diff --git a/doc/print_settings/quality/quality_settings_line_width.md b/doc/print_settings/quality/quality_settings_line_width.md
index ae4ae05233..9c50d9d8a2 100644
--- a/doc/print_settings/quality/quality_settings_line_width.md
+++ b/doc/print_settings/quality/quality_settings_line_width.md
@@ -2,24 +2,24 @@
These settings control how wide the extruded lines are.
-- **Default**: The default line width in mm or as a percentage of the nozzle size.
-
-- **First Layer**: The line width of the first layer. Typically, this is wider than the rest of the print, to promote better bed adhesion. See tips below for why.
-
-- **Outer Wall**: The line width in mm or as a percentage of the nozzle size used when printing the model’s external wall perimeters.
-
-- **Inner Wall**: The line width in mm or as a percentage of the nozzle size used when printing the model’s internal wall perimeters.
-
-- **Top Surface**: The line width in mm or as a percentage of the nozzle size used when printing the model’s top surface.
-
-- **Sparse Infill**: The line width in mm or as a percentage of the nozzle size used when printing the model’s sparse infill.
-
-- **Internal Solid Infill**: The line width in mm or as a percentage of the nozzle size used when printing the model’s internal solid infill.
-
-- **Support**: The line width in mm or as a percentage of the nozzle size used when printing the model’s support structures.
+- **Default:** The default line width in mm or as a percentage of the nozzle size.
+- **First Layer:** The line width of the first layer. Typically, this is wider than the rest of the print, to promote better bed adhesion. See tips below for why.
+
+- **Outer Wall:** The line width in mm or as a percentage of the nozzle size used when printing the model’s external wall perimeters.
+
+- **Inner Wall:** The line width in mm or as a percentage of the nozzle size used when printing the model’s internal wall perimeters.
+
+- **Top Surface:** The line width in mm or as a percentage of the nozzle size used when printing the model’s top surface.
+
+- **Sparse Infill:** The line width in mm or as a percentage of the nozzle size used when printing the model’s sparse infill.
+
+- **Internal Solid Infill:** The line width in mm or as a percentage of the nozzle size used when printing the model’s internal solid infill.
+
+- **Support:** The line width in mm or as a percentage of the nozzle size used when printing the model’s support structures.
## Tips:
+
1. **Typically, the line width will be anything from 100% up to 150% of the nozzle width**. Due to the way the slicer’s flow math works, a 100% line width will attempt to extrude slightly “smaller” than the nozzle size and when squished onto the layer below will match the nozzle orifice. You can read more on the flow math here: [Flow Math](https://manual.slic3r.org/advanced/flow-math).
2. **For most cases, the minimum acceptable recommended line width is 105% of the nozzle diameter**, typically reserved for the outer walls, where greater precision is required. A wider line is less precise than a thinner line.
diff --git a/doc/print_settings/quality/quality_settings_seam.md b/doc/print_settings/quality/quality_settings_seam.md
index 7777be8ff6..605c1fdf79 100644
--- a/doc/print_settings/quality/quality_settings_seam.md
+++ b/doc/print_settings/quality/quality_settings_seam.md
@@ -2,37 +2,86 @@
Unless printed in spiral vase mode, every layer needs to begin somewhere and end somewhere. That start and end of the extrusion is what results in what visually looks like a seam on the perimeters. This section contains options to control the visual appearance of a seam.
-- **Seam Position**: Controls the placement of the seam.
- 1. **Aligned**: Will attempt to align the seam to a hidden internal facet of the model.
- 2. **Nearest**: Will place the seam at the nearest starting point compared to where the nozzle stopped printing in the previous layer.
- 3. **Back**: Will align the seam in a (mostly) straight line at the rear of the model.
- 4. **Random**: Will randomize the placement of the seam between layers.
-
- Typically, aligned or back work the best, especially in combination with seam painting. However, as seams create weak points and slight surface "bulges" or "divots," random seam placement may be optimal for parts that need higher strength as that weak point is spread to different locations between layers (e.g., a pin meant to fit through a hole).
+## Seam Position
-- **Staggered Inner Seams**: As the seam location forms a weak point in the print (it's a discontinuity in the extrusion process after all!), staggering the seam on the internal perimeters can help reduce stress points. This setting moves the start of the internal wall's seam around across layers as well as away from the external perimeter seam. This way, the internal and external seams don't all align at the same point and between them across layers, distributing those weak points further away from the seam location, hence making the part stronger. It can also help improve the water tightness of your model.
+Controlling the position of seams can help improve the appearance and strength of the final print.
-- **Seam Gap**: Controls the gap in mm or as a percentage of the nozzle size between the two ends of a loop starting and ending with a seam. A larger gap will reduce the bulging seen at the seam. A smaller gap reduces the visual appearance of a seam. For a well-tuned printer with pressure advance, a value of 0-15% is typically optimal.
+Typically, aligned or back work the best, especially in combination with seam painting. However, as seams create weak points and slight surface "bulges" or "divots", random seam placement may be optimal for parts that need higher strength as that weak point is spread to different locations between layers (e.g., a pin meant to fit through a hole).
-- **Scarf Seam**: Read more here: [Better Seams - An Orca Slicer Guide](https://www.printables.com/model/783313-better-seams-an-orca-slicer-guide-to-using-scarf-s).
+### Aligned
-- **Role-Based Wipe Speed**: Controls the speed of a wipe motion, i.e., how fast the nozzle will move over a printed area to "clean" it before traveling to another area of the model. It is recommended to turn this option on, to ensure the nozzle performs the wipe motion with the same speed that the feature was printed with.
+Will attempt to align the seam to a hidden internal facet of the model.
-- **Wipe Speed**: If role-based wipe speed is disabled, set this field to the absolute wipe speed or as a percentage over the travel speed.
+
-- **Wipe on Loops**: When finishing printing a "loop" (i.e., an extrusion that starts and ends at the same point), move the nozzle slightly inwards towards the part. That move aims to reduce seam unevenness by tucking in the end of the seam to the part. It also slightly cleans the nozzle before traveling to the next area of the model, reducing stringing.
+### Nearest
-- **Wipe Before External Perimeters**: To minimize the visibility of potential over-extrusion at the start of an external perimeter, the de-retraction move is performed slightly on the inside of the model and, hence, the start of the external perimeter. That way, any potential over-extrusion is hidden from the outside surface.
+Will place the seam at the nearest starting point compared to where the nozzle stopped printing in the previous layer.
+This is optimized for speed, low travel, and acceptable strength.
+
+
+
+### Back
+
+This option places the seam on the back side (Min Y point in that layer) of the object, away from the view. It is useful for objects that will be displayed with a specific orientation.
+
+
+
+### Random
+
+This option places the seam randomly across the object, which can help to distribute the seam points and increase the overall strength of the print.
+
+
+
+## Modifiers
+
+### Staggered inner seams
+
+As the seam location forms a weak point in the print (it's a discontinuity in the extrusion process after all!), staggering the seam on the internal perimeters can help reduce stress points. This setting moves the start of the internal wall's seam around across layers as well as away from the external perimeter seam. This way, the internal and external seams don't all align at the same point and between them across layers, distributing those weak points further away from the seam location, hence making the part stronger. It can also help improve the water tightness of your model.
+
+### Seam gap
+
+Controls the gap in mm or as a percentage of the nozzle size between the two ends of a loop starting and ending with a seam. A larger gap will reduce the bulging seen at the seam. A smaller gap reduces the visual appearance of a seam. For a well-tuned printer with pressure advance, a value of 0-15% is typically optimal.
+
+
+
+### Scarf joint seam
+
+Read more here: [Better Seams - An Orca Slicer Guide](https://www.printables.com/model/783313-better-seams-an-orca-slicer-guide-to-using-scarf-s).
+
+### Role-based wipe speed
+
+Controls the speed of a wipe motion, i.e., how fast the nozzle will move over a printed area to "clean" it before traveling to another area of the model. It is recommended to turn this option on, to ensure the nozzle performs the wipe motion with the same speed that the feature was printed with.
+
+### Wipe speed
+
+If role-based wipe speed is disabled, set this field to the absolute wipe speed or as a percentage over the travel speed.
+
+### Wipe on loop(inward movement)
+
+When finishing printing a "loop" (i.e., an extrusion that starts and ends at the same point), move the nozzle slightly inwards towards the part. That move aims to reduce seam unevenness by tucking in the end of the seam to the part. It also slightly cleans the nozzle before traveling to the next area of the model, reducing stringing.
+
+
+
+
+
+
+
+### Wipe Before External
+
+To minimize the visibility of potential over-extrusion at the start of an external perimeter, the de-retraction move is performed slightly on the inside of the model and, hence, the start of the external perimeter. That way, any potential over-extrusion is hidden from the outside surface.
This is useful when printing with Outer/Inner or Inner/Outer/Inner wall print order, as in these modes, it is more likely an external perimeter is printed immediately after a de-retraction move, which would cause slight extrusion variance at the start of a seam.
## Tips:
+
With seams being inevitable when 3D printing using FFF, there are two distinct approaches on how to deal with them:
-1. **Try and hide the seam as much as possible**: This can be done by enabling scarf seam, which works very well, especially with simple models with limited overhang regions.
-2. **Try and make the seam as "clean" and "distinct" as possible**: This can be done by tuning the seam gap and enabling role-based wipe speed, wipe on loops, and wipe before the external loop.
+1. **Try and hide the seam as much as possible:** This can be done by enabling scarf seam, which works very well, especially with simple models with limited overhang regions.
+2. **Try and make the seam as "clean" and "distinct" as possible:** This can be done by tuning the seam gap and enabling role-based wipe speed, wipe on loops, and wipe before the external loop.
## Troubleshooting Seam Performance:
+
The section below will focus on troubleshooting traditional seams. For scarf seam troubleshooting, refer to the guide linked above.
There are several factors that influence how clean the seam of your model is, with the biggest one being extrusion control after a travel move. As a seam defines the start and end of an extrusion, it is critical that:
@@ -42,10 +91,10 @@ There are several factors that influence how clean the seam of your model is, wi
However, due to mechanical and material tolerances, as well as the very nature of 3D printing with FFF, that is not always possible. Hopefully with some tuning you'll be able to achieve prints like this!
-
-
+
### Troubleshooting the Start of a Seam:
+
Imagine the scenario where the toolhead finishes printing a layer line on one side of the bed, retracts, travels the whole distance of the bed to de-retract, and starts printing another part. Compare this to the scenario where the toolhead finishes printing an internal perimeter and only travels a few mm to start printing an external perimeter, without even retracting or de-retracting.
The first scenario has much more opportunity for the filament to ooze outside the nozzle, resulting in a small blob forming at the start of the seam or, conversely, if too much material has leaked, a gap/under extrusion at the start of the seam.
@@ -65,6 +114,7 @@ So this is a trade-off between print speed and print quality. From experimental
In addition, larger nozzle diameters allow for more opportunity for material to leak compared to smaller diameter nozzles. A 0.2/0.25 mm nozzle will have significantly better seam performance than a 0.4, and that will have much better performance than a 0.6mm nozzle and so forth.
### Troubleshooting the End of a Seam:
+
The end of a seam is much easier to get right, as the extrusion system is already at a pressure equilibrium while printing. It just needs to stop extruding at the right time and consistently.
**If you are getting bulges at the seam**, the extruder is not stopping at the right time. The first thing to tune would be **pressure advance** – too low of a PA will result in the nozzle still being pressurized when finishing the print move, hence leaving a wider line at the end as it stops printing.
@@ -76,6 +126,7 @@ Furthermore, the printer mechanics have tolerances – the print head may be req
Finally, the techniques of **wiping can help improve the visual continuity and consistency of a seam** (please note, these settings do not make the seam less visible, but rather make them more consistent!). Wiping on loops with a consistent speed helps tuck in the end of the seam, hiding the effects of retraction from view.
### The Role of Wall Ordering in Seam Appearance:
+
The order of wall printing plays a significant role in the appearance of a seam. **Starting to print the external perimeter first after a long travel move will always result in more visible artifacts compared to printing the internal perimeters first and traveling just a few mm to print the external perimeter.**
For optimal seam performance, printing with **inner-outer-inner wall order is typically best, followed by inner-outer**. It reduces the amount of traveling performed prior to printing the external perimeter and ensures the nozzle is having as consistent pressure as possible, compared to printing outer-inner.
diff --git a/doc/print_settings/speed/extrusion-rate-smoothing.md b/doc/print_settings/speed/extrusion-rate-smoothing.md
index 3407e45fdf..232279515c 100644
--- a/doc/print_settings/speed/extrusion-rate-smoothing.md
+++ b/doc/print_settings/speed/extrusion-rate-smoothing.md
@@ -1,31 +1,30 @@
-
Extrusion rate smoothing
+# Extrusion rate smoothing
-Extrusion rate smoothing (ERS), also known as pressure equalizer in Prusa Slicer, aims to **limit the rate of extrusion volume change to be below a user set threshold (the ERS value).** It aims to assist the printer firmware internal motion planners, pressure advance in achieving the desired nozzle flow and reducing deviations against the ideal flow.
+Extrusion rate smoothing (ERS), also known as pressure equalizer in Prusa Slicer, aims to **limit the rate of extrusion volume change to be below a user set threshold (the ERS value).** It aims to assist the printer firmware internal motion planners, pressure advance in achieving the desired nozzle flow and reducing deviations against the ideal flow.
-This happens by reducing the stresses put on the extrusion system as well as reducing the absolute deviations from the ideal extrusion flow caused by pressure advance smooth time.
+This happens by reducing the stresses put on the extrusion system as well as reducing the absolute deviations from the ideal extrusion flow caused by pressure advance smooth time.
This feature is especially helpful when printing at high accelerations and large flow rates as the deviations are larger in these cases.
-
+
-
Theory
+## Theory
-Enabling this feature creates a small **speed "ramp"** by slowing down and ramping up print speeds prior to and after the features causing a sudden change in extrusion flow rate needs, such as overhangs and overhang perimeters.
+Enabling this feature creates a small **speed "ramp"** by slowing down and ramping up print speeds prior to and after the features causing a sudden change in extrusion flow rate needs, such as overhangs and overhang perimeters.
This works by breaking down the printed line segments into smaller "chunks", proportional to the ERS segment length, and reduces the print speed of these segments so that the **requested extrusion volumetric flow rate change is less than or equal to the ERS threshold**.
-In summary, **it takes the "edge" off rapid extrusion changes caused by acceleration/deceleration as these are now spread over a longer distance and time.** Therefore, it can reduce wall artefacts that show when the print speeds change suddenly. These artefacts are occuring because the extruder and firmware cannot perfectly adhere to the requested by the slicer flow rates, especially when the extrusion rate is changing rapidly.
+In summary, **it takes the "edge" off rapid extrusion changes caused by acceleration/deceleration as these are now spread over a longer distance and time.** Therefore, it can reduce wall artefacts that show when the print speeds change suddenly. These artefacts are occuring because the extruder and firmware cannot perfectly adhere to the requested by the slicer flow rates, especially when the extrusion rate is changing rapidly.
**The example below shows the artefact that is mitigated by ERS.**
-
+
-The bulging visible above is due to the extruder not being able to respond fast enough against the required speed change when printing with high accelerations and high speeds and requested to slow down for an overhang.
+The bulging visible above is due to the extruder not being able to respond fast enough against the required speed change when printing with high accelerations and high speeds and requested to slow down for an overhang.
In the above scenario, the printer (Bambu Lab X1 Carbon) was requested to slow down from a 200mm/sec print speed to 40mm/sec at an acceleration of 5k/sec2. **The extruder could not keep up with the pressure change, resulting in a slight bump ahead at the point of speed change.**
This parameter interacts with the below printer kinematic settings and physical limits:
-
**1. The limits of the extruder system** - how fast can it change pressure in the nozzle
**2. The configured pressure advance values** - that also affect pressure changes in the nozzle
@@ -34,32 +33,40 @@ This parameter interacts with the below printer kinematic settings and physical
**4. The pressure advance smooth time (klipper)** - higher smooth time means higher deviation from ideal extrusion, hence more opportunity for this feature to be useful.
+
Acceleration vs. Extrusion rate smoothing
A printer's motion system does
+not exactly follow the speed changes seen in the gcode preview screen of Orca
+slicer.
-
Acceleration vs. Extrusion rate smoothing
-A printer's motion system does not exactly follow the speed changes seen in the gcode preview screen of Orca slicer.
-
-
-When a speed change is requested, the firmware look ahead planner calculates the slow down needed to achieve the target speed. The rate of slowdown is limited by the move's acceleration value.
+When a speed change is requested, the firmware look ahead planner calculates the slow down needed to achieve the target speed. The rate of slowdown is limited by the move's acceleration value.
**Lets consider an example.** Assume printing an overhang wall with **2k external wall acceleration**, were the printer is called to slow down from **200mm/sec to 40mm/sec**.
This deceleration move would happen over approximately 9.6mm. This is derived from the following equation:
-
+Where:
-
+- vf = final speed.
+- vi = initial speed.
+- a = acceleration (in this case, it will be negative as it's a deceleration).
+- d = distance.
+
+```math
+d = \frac{v_f^2 - v_i^2}{2a}
+```
The time taken to decelerate to this new speed would be approx. 0.08 seconds, derived from the following equation:
-
+```math
+t = \frac{v_f - v_i}{a}
+```
A printer printing at 200mm/sec with a 0.42 line width and 0.16 layer height would be extruding plastic at approx. 12.16mm3/sec, as can also be seen from the below visual.
-
+
When the printer is extruding at 40mm/sec with the same line width and layer height as above, the flow rate is 2.43mm3/sec.
-So what we are asking the extruder to do in this example is **slow down from 12.16mm3/sec flow to 2.43mm3/sec flow in 0.08 seconds** or an extrusion change rate of 121mm3/sec2.
+So what we are asking the extruder to do in this example is **slow down from 12.16mm3/sec flow to 2.43mm3/sec flow in 0.08 seconds** or an extrusion change rate of 121mm3/sec2.
**This value is proportional to the acceleration of the printer. At 4k this value doubles, at 1k it is half and is independent of the speed of movement or starting and ending speeds.**
@@ -69,7 +76,7 @@ So, continuing with the worked example, a 2k acceleration produces an extrusion
**Therefore, the acceleration values act as a meaningfull upper limit to this setting.** An indicative set of values has been provided later in this page.
-
Pressure advance vs extrusion rate smoothing
+### Pressure advance vs extrusion rate smoothing
Then we need to consider pressure advance and smooth time as factors that influence extrusion rate.
@@ -83,7 +90,7 @@ When Pressure Advance adjusts the extruder speed to compensate for the pressure
2. Increased wear on the extruder gear and filament,
3. Visible artifacts on the print surface due to non-uniform extrusion.
-The smooth time setting introduces a controlled delay over which the Pressure Advance adjustments are spread out. This results in a more gradual application or reduction of extrusion pressure, leading to smoother transitions in filament flow.
+The smooth time setting introduces a controlled delay over which the Pressure Advance adjustments are spread out. This results in a more gradual application or reduction of extrusion pressure, leading to smoother transitions in filament flow.
The trade-off is extrusion accuracy. There is a deviation between the requested extrusion amount and the actual extrusion amount due to this smoothing.
@@ -91,31 +98,34 @@ The trade-off is extrusion accuracy. There is a deviation between the requested
**2. Decreasing Smooth Time:** Makes the Pressure Advance adjustments more immediate, which can improve the responsiveness of pressure compensation but may also reintroduce abrupt changes in flow rate, potentially leading to the issues mentioned above.
-In essence, p**ressure advance smooth time creates an intentional deviation from the ideal extruder rotation** and, therefore, extrusion amount, to allow the printer's extruder to perform within its mechanical limits. Typically, this value is set to 0.04sec, which means that when Pressure Advance adjusts the extruder's flow rate to compensate for changes in pressure within the hot end, these adjustments are spread out over a period of 0.04 seconds.
+In essence, p**ressure advance smooth time creates an intentional deviation from the ideal extruder rotation** and, therefore, extrusion amount, to allow the printer's extruder to perform within its mechanical limits. Typically, this value is set to 0.04sec, which means that when Pressure Advance adjusts the extruder's flow rate to compensate for changes in pressure within the hot end, these adjustments are spread out over a period of 0.04 seconds.
There is a great example of pressure advance smooth time induced deviations [here](https://klipper.discourse.group/t/pressure-advance-smooth-time-skews-pressure-advance/13451) that is worth a read to get more insight in this trade-off.
In the worked example above, **we need to set an Extrusion Rate smoothing value enough to decrease the error introduced by pressure advance smooth time against the produced output flow.** The lower the extrusion rate smoothing value, the lower the changes in flow over time hence the lower the absolute deviation from the ideal extrusion caused by the smooth time algorithm. However, going too low will result in a material decrease in overall print speed, as the print speed will be materially reduced to achieve low extrusion deviations between features, for no real benefit after a point.
-**The best way to find what the lower beneficial limit is through experimentation.** Print an object with sharp overhangs that are slowed down because off the overhang print speed settings and observe for extrusion inconsistencies.
+**The best way to find what the lower beneficial limit is through experimentation.** Print an object with sharp overhangs that are slowed down because off the overhang print speed settings and observe for extrusion inconsistencies.
Finding the ideal Extrusion Rate smoothing value
-**Firstly, this value needs to be lower than the extrusion rate changes resulting from the acceleration profile of the printer.** As, generally, the greatest impact is in external wall finish, use your external perimeter acceleration as a point of reference.
+**Firstly, this value needs to be lower than the extrusion rate changes resulting from the acceleration profile of the printer.** As, generally, the greatest impact is in external wall finish, use your external perimeter acceleration as a point of reference.
**Below are some approximate ERS values for 0.42 line width and 0.16 layer height.**
+
1. 30mm3/sec for 0.5k acceleration
2. 60.5mm3/sec for 1k acceleration
3. 121mm3/sec2 for 2k acceleration
4. 242mm3/sec2 for 4k acceleration
**Below are some approximate ERS values for 0.42 line width and 0.20 layer height.**
+
1. 38mm3/sec for 0.5k acceleration
2. 76mm3/sec for 1k acceleration
3. 150mm3/sec2 for 2k acceleration
4. 300mm3/sec2 for 4k acceleration
**Below are some approximate ERS values for 0.45 line width and 0.16 layer height.**
+
1. 32mm3/sec for 0.5k acceleration
2. 65mm3/sec for 1k acceleration
3. 129mm3/sec2 for 2k acceleration
@@ -124,6 +134,7 @@ In the worked example above, **we need to set an Extrusion Rate smoothing value
**So, your tuning starting point needs to be an ERS value that is less than this.** A good point experiment with test prints would be **a value of 60-80%** of the above maximum values. This will give some meaningful assistance to pressure advance, reducing the deviation introduced by pressure advance smooth time. The greater the smooth time, the greater the quality benefit will be.
Therefore, for a **0.42 line width and 0.16 layer height**, the below are a recommended set of starting ERS values
+
1. 18-25mm3/sec for 0.5k acceleration
2. 35-50mm3/sec for 1k acceleration
3. 70-100mm3/sec2 for 2k acceleration
@@ -133,49 +144,48 @@ If you are printing with a 0.2 layer height, you can increase these values by 25
**The second factor is your extruder's mechanical abilities.** Direct drive extruders with a good grip on the filament typically are more responsive to extrusion rate changes. Similarly with stiff filaments. So, a Bowden printer or when printing softer material like TPU or soft PLAs like polyterra there is more opportunity for the extruder to slip or deviate from the desired extrusion amount due to mechanical grip or material deformation or just delay in propagating the pressure changes (in a Bowden setup).
-**The final factor is the deviation introduced by pressure advance smooth time**, or equivalents in closed source firmware. The higher this value the larger the extrusion deviation from ideal. If you are using a direct drive extruder, reduce this value to 0.02 in your klipper firmware before tuning ERS, as a lower value results in lower deviations to mitigate. Then proceed to experimentaly tune ERS.
+**The final factor is the deviation introduced by pressure advance smooth time**, or equivalents in closed source firmware. The higher this value the larger the extrusion deviation from ideal. If you are using a direct drive extruder, reduce this value to 0.02 in your klipper firmware before tuning ERS, as a lower value results in lower deviations to mitigate. Then proceed to experimentaly tune ERS.
**So where does that leave us?**
-Perform a test print with the above ERS settings as a starting point and adjust to your liking! If you notice budging on sharp overhangs where speed changes, like the hull of the benchy, reduce this value by 10% and try again.
+Perform a test print with the above ERS settings as a starting point and adjust to your liking! If you notice budging on sharp overhangs where speed changes, like the hull of the benchy, reduce this value by 10% and try again.
If you're not noticing any artefacts, increase by 10%, but don’t go over the maximum values recommended above because then this feature would have no effect in your print.
-
A note for Bowden printers using marlin without pressure advance.
-If your printer is not equipped with pressure advance and, especially, if you are using a Bowden setup, you don’t have the benefit of pressure advance dynamically adjusting your flow.
+## A note for Bowden printers using marlin without pressure advance.
+If your printer is not equipped with pressure advance and, especially, if you are using a Bowden setup, you don’t have the benefit of pressure advance dynamically adjusting your flow.
-In this special case, ERS will be doing all the heavy lifting that pressure advance would typically perform. In this scenario a low value of 8-10mm3/sec is usually recommended, irrespective of your acceleration settings, to smooth out pressure changes in the extrusion system as much as possible without impacting print speed too much.
+In this special case, ERS will be doing all the heavy lifting that pressure advance would typically perform. In this scenario a low value of 8-10mm3/sec is usually recommended, irrespective of your acceleration settings, to smooth out pressure changes in the extrusion system as much as possible without impacting print speed too much.
+
+## A note on ERS Segment length
-
A note on ERS Segment length
Ideally you want this value set to 1 to allow for the largest number of steps between each speed transition. However, this may result in a too large of a gcode, with too many commands sent to your MCU per second and it may not be able to keep up. It will also slow down the Orca slicer front end as the sliced model is more complex to render.
-
-For Klipper printers, a segment length of 1 works OK as the RPI or similar have enough computational power to handle the gcode command volume.
+For Klipper printers, a segment length of 1 works OK as the RPI or similar have enough computational power to handle the gcode command volume.
Similarly, for a Bambu lab printer, a segment length of 1 works well. **However, if you do notice your printer stuttering or stalling** (which may be the case with the lower powered P1 series printers) **or getting "Timer too close" errors** in Klipper, **increase this value to 2 or 3**. This would reduce the effectiveness of the setting but will present a more manageable load to your printer.
-
Limitations
+## Limitations
-**This feature can only work where speed changes are induced by the slicer** - for example when transitioning from fast to slow print moves when printing overhangs, bridges and from printing internal features to external features and vice versa.
+**This feature can only work where speed changes are induced by the slicer** - for example when transitioning from fast to slow print moves when printing overhangs, bridges and from printing internal features to external features and vice versa.
-However, it will not affect extruder behaviour when the printer is slowing down due to firmware commands - for example when turning around corners.
+However, it will not affect extruder behaviour when the printer is slowing down due to firmware commands - for example when turning around corners.
In this case, the printer slows down and then accelerates independently of what the slicer has requested. In this case, the slicer is commanding a consistent speed; however, the printer is adjusting this to operate within its printer kinematic limits (SCV/Jerk) and accelerations. As the slicer is not aware of this slow down, it cannot apply pre-emptive extrusion rate smoothing to the feature and instead, the changes are governed by the printer firmware exclusively.
-
Credits
+## Credits
-**Original feature authors and creators:** The Prusa Slicer team, including [@bubnikv](https://github.com/bubnikv), [@hejllukas](https://github.com/hejllukas)
+**Original feature authors and creators:** The Prusa Slicer team, including [@bubnikv](https://github.com/bubnikv), [@hejllukas](https://github.com/hejllukas).
**Enhanced by:** [@MGunlogson](https://github.com/MGunlogson), introducing the feature to external perimeters, enhancing it by taking into account travel, retraction and implementing near-contiguous extrusions pressure equalizer adjustments.
-**Ported to Orca:** [@igiannakas](https://github.com/igiannakas)
+**Ported to Orca:** [@igiannakas](https://github.com/igiannakas).
-**Enhanced by:** [@noisyfox](https://github.com/Noisyfox), per object pressure equalization and fixing calculation logic bugs
+**Enhanced by:** [@noisyfox](https://github.com/Noisyfox), per object pressure equalization and fixing calculation logic bugs.
-**Wiki page:** [@igiannakas](https://github.com/igiannakas)
+**Wiki page:** [@igiannakas](https://github.com/igiannakas).
-**Overall Orca owner and assurance:** [@softfever](https://github.com/SoftFever)
-
-**Community testing and feedback:** [@HakunMatat4](https://github.com/HakunMatat4), [@psiberfunk](https://github.com/psiberfunk), [@u3dreal](https://github.com/u3dreal) and more
+**Overall Orca owner and assurance:** [@softfever](https://github.com/SoftFever).
+**Community testing and feedback:** [@HakunMatat4](https://github.com/HakunMatat4), [@psiberfunk](https://github.com/psiberfunk), [@u3dreal](https://github.com/u3dreal) and more.
\ No newline at end of file
diff --git a/doc/semm.md b/doc/semm.md
index 9bff668fc9..a5e22f3584 100644
--- a/doc/semm.md
+++ b/doc/semm.md
@@ -1,11 +1,19 @@
# Single Extruder Multimaterial Printing in OrcaSlicer
## Introduction
+
In this guide, we will explain the parameters for single extruder multimaterial printing in OrcaSlicer. The whole process and parameters are same as PrusaSlicer as OrcaSlicer is based on PrusaSlicer.
OrcaSlicer has some additional features and minor differences though. We will explain them in this guide.
+
## Prime tower
-WIP...
+
+The prime tower is a structure that is printed before the actual print to ensure that the nozzle is primed with the correct filament. It helps to prevent oozing and stringing during the print. The prime tower can be customized in various ways, such as its size, shape, and position.
+
## Ramming
-WIP...
+
+Ramming is a technique used to push the filament through the nozzle to ensure that it is primed and ready for printing. It can be adjusted in terms of speed and distance to optimize the priming process.
+
## Manual filament change
-WIP...
\ No newline at end of file
+
+Manual filament change is a feature that allows the user to change the filament during the print. This can be useful for multi-material prints or when changing colors. The user can specify the position and timing of the filament change, as well as the speed and distance of the ramming process.
+WIP...
diff --git a/doc/stl-transformation.md b/doc/stl-transformation.md
index 58a7009c41..7a1ea7ec39 100644
--- a/doc/stl-transformation.md
+++ b/doc/stl-transformation.md
@@ -5,37 +5,38 @@ OrcaSlicer primarily relies on STL meshes for slicing, but STL files may come wi
Typically, STL files feature a low polygon count, which can adversely affect print quality.
In contrast, using STEP files offers a higher-quality mesh that more accurately represents the original design. However, be aware that both high-polygon STL and STEP files can increase slicing time.
-
+
## Importing STEP files
-This setting determines how STEP files are converted into STL files and is displayed during the STEP file import process.
+This setting determines how STEP files are converted into STL files and is displayed during the STEP file import process.
+
If you don't see this when opening a STEP file, check [Don't show again](#Don't-show-again) below.
-
+
### Parameters:
-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.
+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.
-
+
- - **Linear Deflection**: Specifies the maximum distance allowed between the original surface and its polygonal approximation. Lower values produce a mesh that more accurately follows the original curvature.
- - **Angular Deflection**: Defines the maximum allowable angle difference between the actual surface and its tessellated counterpart. Smaller angular deflection values yield a more precise mesh.
+- **Linear Deflection:** Specifies the maximum distance allowed between the original surface and its polygonal approximation. Lower values produce a mesh that more accurately follows the original curvature.
+- **Angular Deflection:** Defines the maximum allowable angle difference between the actual surface and its tessellated counterpart. Smaller angular deflection values yield a more precise mesh.
#### Split compound and compsolid into multiple objects:
Enabling this option will split the imported 3D file into separate objects. This is especially useful for adjusting individual object positions, tweaking print settings, or optimizing the model through simplification.
-
+
#### Don't show again
This option will hide the STL transformation dialog when opening a STEP file.
To restore the dialog, go to "Preferences" (Ctrl + P) > "Show the STEP mesh parameter setting dialog".
-
+
## Simplify model
@@ -45,11 +46,10 @@ This function is especially useful for improving the performance of the slicer o
To access the Simplify Model option, right-click on the object to simplify in the "Prepare" menu.
-
+
It is recommended to enable the "Show Wireframe" option when running a simplification process to visually inspect the outcome. However, be cautious: overly aggressive simplification may lead to noticeable detail loss, increased ringing, or other printing issues.
-
### You can Simplify your model using the following options:
- **Detail Level:** Control the level of detail in the simplified model by choosing from five preset options. This setting allows for a balance between mesh fidelity and performance.
diff --git a/linux.d/debian b/linux.d/debian
index bc4e712c57..10d866fcb5 100644
--- a/linux.d/debian
+++ b/linux.d/debian
@@ -28,12 +28,16 @@ REQUIRED_DEV_PACKAGES=(
if [[ -n "$UPDATE_LIB" ]]
then
- # for ubuntu 22+ and 23+:
- ubu_major_version="$(grep VERSION_ID /etc/os-release | cut -d "=" -f 2 | cut -d "." -f 1 | tr -d /\"/)"
- if [ $ubu_major_version == "22" ] || [ $ubu_major_version == "23" ]
- then
- REQUIRED_DEV_PACKAGES+=(curl libfuse-dev libssl-dev libcurl4-openssl-dev m4)
+ source /etc/os-release
+ if [ "${ID}" == "ubuntu" ] && [ -n "${VERSION_ID}" ]; then
+ # It's ubuntu and we have a VERSION_ID like "24.04".
+ if dpkg --compare-versions "${VERSION_ID}" ge 22 && dpkg --compare-versions "${VERSION_ID}" lt 24 ;
+ then
+ # Some extra packages needed on Ubuntu 22.x and 23.x:
+ REQUIRED_DEV_PACKAGES+=(curl libfuse-dev libssl-dev libcurl4-openssl-dev m4)
+ fi
fi
+
if [[ -n "$BUILD_DEBUG" ]]
then
REQUIRED_DEV_PACKAGES+=(libssl-dev libcurl4-openssl-dev)
diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot
index 61ab7d2b16..ca12f08ad3 100644
--- a/localization/i18n/OrcaSlicer.pot
+++ b/localization/i18n/OrcaSlicer.pot
@@ -4155,7 +4155,7 @@ msgstr ""
msgid "Assembly Return"
msgstr ""
-msgid "return"
+msgid "Return"
msgstr ""
msgid "Paint Toolbar"
diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po
index 96646dde82..347a39e2e3 100644
--- a/localization/i18n/ca/OrcaSlicer_ca.po
+++ b/localization/i18n/ca/OrcaSlicer_ca.po
@@ -4475,8 +4475,8 @@ msgstr "Seleccioneu Placar"
msgid "Assembly Return"
msgstr "Tornar a Agrupar"
-msgid "return"
-msgstr "tornar"
+msgid "Return"
+msgstr "Tornar"
msgid "Paint Toolbar"
msgstr "Barra d'eines de pintura"
diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po
index eaa3c2cf49..127143996e 100644
--- a/localization/i18n/cs/OrcaSlicer_cs.po
+++ b/localization/i18n/cs/OrcaSlicer_cs.po
@@ -4381,7 +4381,7 @@ msgstr "Vybrat Podložku"
msgid "Assembly Return"
msgstr "Návrat k sestavení"
-msgid "return"
+msgid "Return"
msgstr "Návrat"
msgid "Paint Toolbar"
diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po
index 0bf80ae4f3..c63e2026a2 100644
--- a/localization/i18n/de/OrcaSlicer_de.po
+++ b/localization/i18n/de/OrcaSlicer_de.po
@@ -211,7 +211,7 @@ msgstr "Fehler: Bitte schließen sie zuerst alle Werkzeugleistenmenüs"
#. inches
msgid "in"
-msgstr ""
+msgstr "in"
msgid "mm"
msgstr "mm"
@@ -976,7 +976,7 @@ msgid "Undo boldness"
msgstr "Dicke rückgängig machen"
msgid "Tiny / Wide glyphs"
-msgstr ""
+msgstr "Winzige / breite Glyphen"
msgid "Undo letter's skew"
msgstr "Rückgängig machen der Schriftneigung"
@@ -4520,7 +4520,7 @@ msgstr "Druckplatte wählen"
msgid "Assembly Return"
msgstr "Zurücksetzen der Montage"
-msgid "return"
+msgid "Return"
msgstr "Zurück"
msgid "Paint Toolbar"
@@ -7095,7 +7095,7 @@ msgid "The period of backup in seconds."
msgstr "Die Zeitdauer für die Sicherung in Sekunden."
msgid "Downloads"
-msgstr ""
+msgstr "Downloads"
msgid "Dark Mode"
msgstr "Dunkler Modus"
@@ -7677,7 +7677,7 @@ msgstr ""
"Der Drucker unterstützt nicht das Senden an die MicroSD-Karte des Druckers."
msgid "Slice ok."
-msgstr ""
+msgstr "Slicing erfolgreich."
msgid "View all Daily tips"
msgstr "Zeige alle täglichen Tipps"
@@ -7866,6 +7866,11 @@ msgid ""
"0 top z distance, 0 interface spacing, interlaced rectilinear pattern and "
"disable independent support layer height"
msgstr ""
+"Wenn Sie Stützmaterial für die Stützschnittstelle verwenden, empfehlen wir "
+"die folgenden Einstellungen:\n"
+"0 obere Z-Abstand, 0 Schnittstellenabstand, "
+"verflochtenes rechteckiges Muster und "
+"unabhängige Stützschichthöhe deaktivieren"
msgid ""
"Change these settings automatically?\n"
@@ -8115,7 +8120,7 @@ msgid "G-code output"
msgstr "G-Code-Ausgabe"
msgid "Post-processing Scripts"
-msgstr ""
+msgstr "Nachbearbeitungsskripte"
msgid "Notes"
msgstr "Notizen"
@@ -8739,54 +8744,58 @@ msgid "The configuration is up to date."
msgstr "Die Konfiguration ist auf dem neuesten Stand."
msgid "Obj file Import color"
-msgstr ""
+msgstr "Obj-Datei Importfarbe"
msgid "Specify number of colors:"
msgstr ""
#, c-format, boost-format
msgid "The color count should be in range [%d, %d]."
-msgstr ""
+msgstr "Die Anzahl der Farben sollte im Bereich [%d, %d] liegen."
msgid "Recommended "
-msgstr ""
+msgstr "Empfohlen "
msgid "Current filament colors:"
-msgstr ""
+msgstr "Aktuelle Filamentfarben:"
msgid "Quick set:"
-msgstr ""
+msgstr "Schnelleinstellung:"
msgid "Color match"
-msgstr ""
+msgstr "Farbabgleich"
msgid "Approximate color matching."
-msgstr ""
+msgstr "Ungefähre Farbabstimmung."
msgid "Append"
-msgstr ""
+msgstr "Anhängen"
msgid "Add consumable extruder after existing extruders."
-msgstr ""
+msgstr "Fügen Sie einen Verbrauchsmaterial-Extruder nach den vorhandenen Extrudern hinzu."
msgid "Reset mapped extruders."
-msgstr ""
+msgstr "Zurücksetzen der zugeordneten Extruder."
msgid "Cluster colors"
-msgstr ""
+msgstr "Clusterfarben"
msgid "Map Filament"
-msgstr ""
+msgstr "Filament zuordnen"
msgid ""
"Note: The color has been selected, you can choose OK \n"
"to continue or manually adjust it."
msgstr ""
+"Hinweis: Die Farbe wurde ausgewählt, Sie können OK wählen \n"
+"um fortzufahren oder sie manuell anzupassen."
msgid ""
"Warning: The count of newly added and \n"
"current extruders exceeds 16."
msgstr ""
+"Warnung: Die Anzahl der neu hinzugefügten und \n"
+"aktuellen Extruder übersteigt 16."
msgid "Ramming customization"
msgstr "Ramming-Anpassung"
@@ -14643,10 +14652,10 @@ msgid "XY separation between an object and its support"
msgstr "XY-Abstand zwischen einem Objekt und seinen Stützstrukturen."
msgid "Support/object first layer gap"
-msgstr ""
+msgstr "Stützen/Objekt Abstand der ersten Schicht"
msgid "XY separation between an object and its support at the first layer."
-msgstr ""
+msgstr "XY-Abstand zwischen einem Objekt und seinen Stützstrukturen in der ersten Schicht."
msgid "Pattern angle"
msgstr "Winkel des Musters"
@@ -15657,7 +15666,7 @@ msgid "Load cached slicing data from directory"
msgstr "Zwischengespeicherte Slicing-Daten aus dem Verzeichnis laden"
msgid "Export STL"
-msgstr ""
+msgstr "Exportiere STL"
msgid "Export the objects as single STL."
msgstr "Exportieren Sie die Objekte als einzelne STL."
@@ -16255,7 +16264,7 @@ msgstr ""
"1)."
msgid "Layer z"
-msgstr ""
+msgstr "Layer Z"
msgid ""
"Height of the current layer above the print bed, measured to the top of the "
@@ -16854,7 +16863,7 @@ msgstr ""
"Matte)"
msgid "Pattern"
-msgstr ""
+msgstr "Muster"
msgid "Method"
msgstr "Methode"
@@ -17435,13 +17444,13 @@ msgid "Printable Space"
msgstr "Druckbarer Raum"
msgid "Hot Bed STL"
-msgstr ""
+msgstr "Heiz Bett STL"
msgid "Load stl"
msgstr "STL laden"
msgid "Hot Bed SVG"
-msgstr ""
+msgstr "Heiz Bett SVG"
msgid "Load svg"
msgstr "SVG laden"
diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po
index 59e19f9476..85340084c0 100644
--- a/localization/i18n/en/OrcaSlicer_en.po
+++ b/localization/i18n/en/OrcaSlicer_en.po
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Assembly Return"
msgstr ""
-msgid "return"
+msgid "Return"
msgstr ""
msgid "Paint Toolbar"
diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po
index e67e825714..be6825d30c 100644
--- a/localization/i18n/es/OrcaSlicer_es.po
+++ b/localization/i18n/es/OrcaSlicer_es.po
@@ -4501,8 +4501,8 @@ msgstr "Seleccionr Bandeja"
msgid "Assembly Return"
msgstr "Volver a agrupar"
-msgid "return"
-msgstr "volver"
+msgid "Return"
+msgstr "Volver"
msgid "Paint Toolbar"
msgstr "Barra de herramientas de pintura"
diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po
index 9e56b2ea1c..58ab3ad1a9 100644
--- a/localization/i18n/fr/OrcaSlicer_fr.po
+++ b/localization/i18n/fr/OrcaSlicer_fr.po
@@ -4508,8 +4508,8 @@ msgstr "Sélectionner le plateau"
msgid "Assembly Return"
msgstr "Retour d'assemblage"
-msgid "return"
-msgstr "retour"
+msgid "Return"
+msgstr "Retour"
msgid "Paint Toolbar"
msgstr "Barre d'outils de peinture"
diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po
index e849e8e5a5..7bc4ae8066 100644
--- a/localization/i18n/hu/OrcaSlicer_hu.po
+++ b/localization/i18n/hu/OrcaSlicer_hu.po
@@ -4323,8 +4323,8 @@ msgstr "Tálca kiválasztása"
msgid "Assembly Return"
msgstr "Vissza az összeszereléshez"
-msgid "return"
-msgstr "vissza"
+msgid "Return"
+msgstr "Vissza"
msgid "Paint Toolbar"
msgstr "Festés eszköztár"
diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po
index 5223e4f7e2..ccc1b119f7 100644
--- a/localization/i18n/it/OrcaSlicer_it.po
+++ b/localization/i18n/it/OrcaSlicer_it.po
@@ -233,7 +233,7 @@ msgid "Volume Operations"
msgstr "Operazioni volume"
msgid "Translate"
-msgstr "Traduci"
+msgstr "Trasla"
msgid "Group Operations"
msgstr "Operazioni Gruppo"
@@ -486,7 +486,7 @@ msgid "After cut"
msgstr "Dopo il taglio"
msgid "Cut to parts"
-msgstr "Taglia le parti"
+msgstr "Taglia in parti"
msgid "Perform cut"
msgstr "Effettua taglio"
@@ -605,7 +605,7 @@ msgid "Operation already cancelling. Please wait a few seconds."
msgstr "Operazione già annullata. Si prega di attendere qualche secondo."
msgid "Face recognition"
-msgstr "Riconoscimento facciale"
+msgstr "Riconoscimento faccia"
msgid "Perform Recognition"
msgstr "Esegui riconoscimento"
@@ -893,13 +893,13 @@ msgid "Style \"%1%\" can't be used and will be removed from a list."
msgstr "Lo stile \"%1%\" non può essere usato e sarà rimosso dall'elenco."
msgid "Unset italic"
-msgstr "Corsivo non impostato"
+msgstr "Rimovi corsivo"
msgid "Set italic"
msgstr "Imposta corsivo"
msgid "Unset bold"
-msgstr "Grassetto non impostato"
+msgstr "Rimuovi rassetto"
msgid "Set bold"
msgstr "Imposta grassetto"
@@ -955,44 +955,44 @@ msgid "Bottom"
msgstr "Inferiore"
msgid "Revert alignment."
-msgstr "Ripristinare l'allineamento."
+msgstr "Reimposta l'allineamento."
#. TRN EmbossGizmo: font units
msgid "points"
msgstr "punti"
msgid "Revert gap between characters"
-msgstr "Ripristina distanza tra i caratteri"
+msgstr "Reimposta distanza tra i caratteri"
msgid "Distance between characters"
msgstr "Distanza tra i caratteri"
msgid "Revert gap between lines"
-msgstr "Ripristina distanza tra le linee"
+msgstr "Reimposta distanza tra le linee"
msgid "Distance between lines"
msgstr "Distanza tra le linee"
msgid "Undo boldness"
-msgstr "Annulla grassetto"
+msgstr "Reimposta spessore"
msgid "Tiny / Wide glyphs"
msgstr "Glifi piccoli / larghi"
msgid "Undo letter's skew"
-msgstr "Annulla l'inclinazione della lettera"
+msgstr "Reimposta l'inclinazione della lettera"
msgid "Italic strength ratio"
msgstr "Fattore intensità corsivo"
msgid "Undo translation"
-msgstr "Annulla traduzione"
+msgstr "Reimposta traslazione"
msgid "Distance of the center of the text to the model surface."
msgstr "Distanza del centro del testo dalla superficie del modello."
msgid "Undo rotation"
-msgstr "Annulla rotazione"
+msgstr "Reimposta rotazione"
msgid "Rotate text Clock-wise."
msgstr "Ruota il testo in senso orario."
@@ -4507,8 +4507,8 @@ msgstr "Seleziona Piatto"
msgid "Assembly Return"
msgstr "Ritorna al montaggio"
-msgid "return"
-msgstr "indietro"
+msgid "Return"
+msgstr "Indietro"
msgid "Paint Toolbar"
msgstr "Barra strumenti di pittura"
@@ -6685,7 +6685,7 @@ msgstr "Impostazioni Piatto"
#, boost-format
msgid "Number of currently selected parts: %1%\n"
-msgstr "Numero attuale di parti selezionate: %1%\n"
+msgstr "Numero attuale di parti selezionate: %1%\n"
#, boost-format
msgid "Number of currently selected objects: %1%\n"
@@ -10383,7 +10383,7 @@ msgid "Everywhere"
msgstr "Ovunque"
msgid "Top and bottom surfaces"
-msgstr "Superfici superiore e inferiore"
+msgstr "Superfici superiori e inferiori"
msgid "Nowhere"
msgstr "Da nessuna parte"
@@ -10631,10 +10631,10 @@ msgstr ""
"da un altro strato, non verrà considerata in uno strato superiore in cui la "
"sua larghezza è inferiore a questo valore. Può essere utile per non lasciare "
"che si attivi l'opzione 'Solo una parete su superfici superiori. Questo "
-"valore può essere espresso in mm o % della larghezza di estrusione del "
+"valore può essere espresso in mm o una % della larghezza di estrusione del "
"perimetro.\n"
"Attenzione: se abilitato, potrebbe creare artefatti se nello strato "
-"successivo si hanno elementi sottili , come le lettere. Impostare questa "
+"successivo si hanno elementi sottili, come le lettere. Impostare questa "
"opzione su 0 per rimuovere questi artefatti."
msgid "Only one wall on first layer"
@@ -10792,7 +10792,7 @@ msgstr ""
"Abilita questa opzione per rallentare la stampa nelle aree in cui potrebbero "
"potenzialmente formarsi deformazioni delle pareti verso l'alto. Ad esempio, "
"la velocità sarà ridotta ulteriormente durante la stampa di sporgenze su "
-"angoli stretti, come la prua dello scafo Benchy, riducendo la deformazione "
+"angoli stretti, come la prua dello scafo della Benchy, riducendo la deformazione "
"che può accumularsi su più strati.\n"
"\n"
"In genere si consiglia di attivare questa opzione a meno che il "
@@ -11327,7 +11327,7 @@ msgid ""
"Line width of outer wall. If expressed as a %, it will be computed over the "
"nozzle diameter."
msgstr ""
-"Larghezza della linea della parete esterna. Se espresso come %, verrà "
+"Larghezza della linea della parete esterna. Se espresso come una %, verrà "
"calcolato sul diametro dell'ugello."
msgid ""
@@ -11785,7 +11785,7 @@ msgid ""
"it will be computed over the nozzle diameter."
msgstr ""
"Larghezza di linea predefinita se le altre larghezze di linea sono impostate "
-"su 0. Se espresso come %, verrà calcolato sul diametro del ugello."
+"su 0. Se espresso come una %, verrà calcolato sul diametro del ugello."
msgid "Keep fan always on"
msgstr "Mantieni la ventola sempre accesa"
@@ -12431,7 +12431,7 @@ msgid ""
"Line width of initial layer. If expressed as a %, it will be computed over "
"the nozzle diameter."
msgstr ""
-"Larghezza della linea del primo strato. Se espresso come %, verrà calcolato "
+"Larghezza della linea del primo strato. Se espresso come una %, verrà calcolato "
"sul diametro dell'ugello."
msgid "Initial layer height"
@@ -12973,7 +12973,7 @@ msgid ""
"Line width of internal sparse infill. If expressed as a %, it will be "
"computed over the nozzle diameter."
msgstr ""
-"Larghezza della linea del riempimento sparso interno. Se espresso come %, "
+"Larghezza della linea del riempimento sparso interno. Se espresso come una %, "
"verrà calcolato sul diametro dell'ugello."
msgid "Infill/Wall overlap"
@@ -13597,7 +13597,7 @@ msgstr ""
"I punti di inizio e fine che si trovano dall'area di taglio allo scarico."
msgid "Reduce infill retraction"
-msgstr "Riduci retrazione nel riempimento"
+msgstr "Evita retrazione nel riempimento"
msgid ""
"Don't retract when the travel is in infill area absolutely. That means the "
@@ -13676,7 +13676,7 @@ msgid ""
"Line width of inner wall. If expressed as a %, it will be computed over the "
"nozzle diameter."
msgstr ""
-"Larghezza della linea della parete interna. Se espresso come %, verrà "
+"Larghezza della linea della parete interna. Se espresso come una %, verrà "
"calcolato sul diametro dell'ugello."
msgid "Speed of inner wall"
@@ -13801,7 +13801,7 @@ msgstr "Quantità di retrazione prima di spurgo"
msgid ""
"The length of fast retraction before wipe, relative to retraction length"
msgstr ""
-"Indica la lunghezza della retrazione prima di uno spurgo, rispetto alla "
+"Indica la lunghezza della retrazione veloce prima di uno spurgo, rispetto alla "
"lunghezza di retrazione."
msgid "Retract when change layer"
@@ -13829,7 +13829,7 @@ msgid ""
"travel. Set zero to disable retraction"
msgstr ""
"Indica la quantità di filamento nell'estrusore che viene ritirata per "
-"evitare la trasudazione del materiale durante lunghi spostamenti. Impostalo "
+"evitare la colatura del materiale durante lunghi spostamenti. Impostalo "
"su 0 per disattivare la retrazione"
msgid "Long retraction when cut (beta)"
@@ -13910,7 +13910,7 @@ msgstr ""
"Impostandolo a 90°, si ottiene il sollevamento 'Normale'."
msgid "Only lift Z above"
-msgstr "Solleva Z solo al di sopra"
+msgstr "Solleva Z solo al di sopra"
msgid ""
"If you set this to a positive value, Z lift will only take place above the "
@@ -14262,7 +14262,7 @@ msgid "How many layers of skirt. Usually only one layer"
msgstr "Numero di strati della gonna. Di solito solo uno"
msgid "Single loop draft shield"
-msgstr ""
+msgstr "Perimetro singolo per scudo protettivo"
msgid ""
"Limits the draft shield loops to one wall after the first layer. This is "
@@ -14384,7 +14384,7 @@ msgid ""
"Line width of internal solid infill. If expressed as a %, it will be "
"computed over the nozzle diameter."
msgstr ""
-"Larghezza della linea del riempimento solido interno. Se espresso come %, "
+"Larghezza della linea del riempimento solido interno. Se espresso come una %, "
"verrà calcolato sul diametro dell'ugello."
msgid "Speed of internal solid infill, not the top and bottom surface"
@@ -14420,7 +14420,7 @@ msgid ""
"expressed as a %, it will be computed over nozzle diameter"
msgstr ""
"Distanza massima di spostamento tra i punti in XY nel tentativo di ottenere "
-"una spirale uniforme. Se espressa come %, verrà calcolata sul diametro "
+"una spirale uniforme. Se espressa come una %, verrà calcolata sul diametro "
"dell'ugello"
msgid "Spiral starting flow ratio"
@@ -14732,7 +14732,7 @@ msgid ""
"Line width of support. If expressed as a %, it will be computed over the "
"nozzle diameter."
msgstr ""
-"Larghezza della linea del supporto. Se espresso come %, verrà calcolato sul "
+"Larghezza della linea del supporto. Se espresso come una %, verrà calcolato sul "
"diametro dell'ugello."
msgid "Interface use loop pattern"
@@ -15129,7 +15129,7 @@ msgid ""
"Line width for top surfaces. If expressed as a %, it will be computed over "
"the nozzle diameter."
msgstr ""
-"Larghezza delle linee per le superfici superiori. Se espresso come %, verrà "
+"Larghezza delle linee per le superfici superiori. Se espresso come una %, verrà "
"calcolato sul diametro dell'ugello."
msgid "Speed of top surface infill which is solid"
@@ -15836,13 +15836,13 @@ msgid "Load filament settings from the specified file list"
msgstr "Carica le impostazioni del filamento dall'elenco di file specificato"
msgid "Skip Objects"
-msgstr "Salta oggetti"
+msgstr "Salta Oggetti"
msgid "Skip some objects in this print"
msgstr "Salta alcuni oggetti in questa stampa"
msgid "Clone Objects"
-msgstr "Clona oggetti"
+msgstr "Clona Oggetti"
msgid "Clone objects in the load list"
msgstr "Clona gli oggetti nell'elenco di caricamento"
@@ -19802,7 +19802,7 @@ msgstr ""
#~ msgstr "Modifica testo"
#~ msgid "Error! Unable to create thread!"
-#~ msgstr "Errore. Impossibile creare il processo."
+#~ msgstr "Errore! Impossibile creare il processo!"
#~ msgid "Exception"
#~ msgstr "Eccezione"
@@ -19843,7 +19843,7 @@ msgstr ""
#~ "Discribe how long the nozzle will move along the last path when retracting"
#~ msgstr ""
#~ "Descrive per quanto tempo il nozzle si muoverà lungo l'ultimo percorso "
-#~ "mentre si ritrae."
+#~ "durante la retrazione."
#~ msgid ""
#~ "Simplify Model\n"
@@ -19891,10 +19891,10 @@ msgstr ""
#~ "caricare il filamento."
#~ msgid "Show G-code window"
-#~ msgstr "Mostra la finestra del codice g"
+#~ msgstr "Mostra la finestra del G-code"
#~ msgid "If enabled, G-code window will be displayed."
-#~ msgstr "Se abilitato, verrà visualizzata la finestra del codice g."
+#~ msgstr "Se abilitato, verrà visualizzata la finestra del G-code."
#, c-format
#~ msgid "Density of internal sparse infill, 100% means solid throughout"
@@ -19989,7 +19989,7 @@ msgstr ""
#~ msgstr "interno-esterno-interno/riempimento"
#~ msgid "Export the objects as multiple STL."
-#~ msgstr "Esportare gli oggetti come STL multipli."
+#~ msgstr "Esporta gli oggetti come STL multipli."
#~ msgid "Rotate around X"
#~ msgstr "Ruota attorno ad X"
@@ -20015,8 +20015,8 @@ msgstr ""
#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of "
#~ "slicing problems?"
#~ msgstr ""
-#~ "Correggi Modello\n"
-#~ "Sapevi che puoi correggere un modello 3D danneggiato per evitare molti "
+#~ "Ripara Modello\n"
+#~ "Sapevi che puoi riparare un modello 3D danneggiato per evitare molti "
#~ "problemi di slicing?"
#~ msgid ""
@@ -20027,15 +20027,15 @@ msgstr ""
#~ msgstr ""
#~ "Quando è necessario stampare con lo sportello della stampante aperto\n"
#~ "L'apertura dello sportello della stampante può ridurre la probabilità di "
-#~ "intasamento dell'estrusore/hotend quando si stampa un filamento a "
-#~ "temperatura inferiore con una temperatura dell'involucro più elevata. "
-#~ "Maggiori informazioni su questo nel Wiki."
+#~ "intasamento dell'estrusore/hotend quando si stampa un filamento che richiede "
+#~ "temperatura inferiore con una temperatura della camera di stampa più elevata. "
+#~ "Maggiori informazioni a riguardo nel Wiki."
#~ msgid "Embedded"
#~ msgstr "Integrato"
#~ msgid "Show online staff-picked models on the home page"
-#~ msgstr "Mostra i modelli online selezionati dallo staff nella home page"
+#~ msgstr "Mostra i modelli online selezionati dallo staff nella home page"
#~ msgid "Online Models"
#~ msgstr "Modelli Online"
@@ -20058,7 +20058,7 @@ msgstr ""
#~ msgstr "Calibrazione estrusione"
#~ msgid "Push new filament into the extruder"
-#~ msgstr "Inserisco il nuovo filamento nell'estrusore"
+#~ msgstr "Inserisci il nuovo filamento nell'estrusore"
#, c-format, boost-format
#~ msgid ""
diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po
index 0bce755a07..5e3cdadb68 100644
--- a/localization/i18n/ja/OrcaSlicer_ja.po
+++ b/localization/i18n/ja/OrcaSlicer_ja.po
@@ -4258,7 +4258,7 @@ msgstr "プレートを選択"
msgid "Assembly Return"
msgstr "戻る"
-msgid "return"
+msgid "Return"
msgstr "戻る"
msgid "Paint Toolbar"
diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po
index 686b23f278..64e1138857 100644
--- a/localization/i18n/ko/OrcaSlicer_ko.po
+++ b/localization/i18n/ko/OrcaSlicer_ko.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-16 22:32+0800\n"
-"PO-Revision-Date: 2025-04-20 21:25+0900\n"
+"PO-Revision-Date: 2025-06-02 17:12+0900\n"
"Last-Translator: crwusiz \n"
"Language-Team: \n"
"Language: ko_KR\n"
@@ -732,8 +732,7 @@ msgid "Embossed text cannot contain only white spaces."
msgstr "양각 텍스트에는 공백만 포함될 수 없습니다."
msgid "Text contains character glyph (represented by '?') unknown by font."
-msgstr ""
-"텍스트에 글꼴로 알 수 없는 문자 모양('?'으로 표시)이 포함되어 있습니다."
+msgstr "텍스트에 글꼴로 알 수 없는 문자 모양('?'으로 표시)이 포함되어 있습니다."
msgid "Text input doesn't show font skew."
msgstr "텍스트 입력에는 글꼴 기울어짐이 표시되지 않습니다."
@@ -758,7 +757,7 @@ msgstr "글꼴 변경 사항을 되돌립니다."
#, boost-format
msgid "Font \"%1%\" can't be selected."
-msgstr "글꼴 \"%1%\"을(를) 선택할 수 없습니다."
+msgstr "글꼴 \"%1%\"를 선택할 수 없습니다."
msgid "Operation"
msgstr "작업"
@@ -871,7 +870,7 @@ msgid ""
"\n"
"Would you like to continue anyway?"
msgstr ""
-"스타일을 \"%1%\"(으)로 변경하면 현재 스타일 수정 사항이 삭제됩니다.\n"
+"스타일을 \"%1%\"으로 변경하면 현재 스타일 수정 사항이 삭제됩니다.\n"
"\n"
"그래도 계속하시겠습니까?"
@@ -880,7 +879,7 @@ msgstr "유효한 스타일이 아닙니다."
#, boost-format
msgid "Style \"%1%\" can't be used and will be removed from a list."
-msgstr "스타일 \"%1%\"은(는) 사용할 수 없으며 목록에서 제거됩니다."
+msgstr "스타일 \"%1%\"는 사용할 수 없으며 목록에서 제거됩니다."
msgid "Unset italic"
msgstr "이탤릭체 설정해제"
@@ -1007,8 +1006,8 @@ msgstr "글꼴 “%1%”를 사용할 수 없습니다. 다른 글꼴을 선택
#, boost-format
msgid ""
-"Can't load exactly same font (\"%1%\"). Application selected a similar "
-"one (\"%2%\"). You have to specify font for enable edit text."
+"Can't load exactly same font (\"%1%\"). Application selected a similar one "
+"(\"%2%\"). You have to specify font for enable edit text."
msgstr ""
"정확히 동일한 글꼴(\"%1%\")을 로드할 수 없습니다. 응용 프로그램이 유사한 항목"
"(\"%2%\")을 선택했습니다. 텍스트 편집을 활성화하려면 글꼴을 지정해야 합니다."
@@ -1251,7 +1250,7 @@ msgstr "파일이 존재하지 않습니다(%1%)."
#, boost-format
msgid "Filename has to end with \".svg\" but you selected %1%"
-msgstr "파일 이름은 \".svg\"로 끝나야 하지만 %1%을(를) 선택했습니다"
+msgstr "파일 이름은 \".svg\"로 끝나야 하지만 %1%를 선택했습니다"
#, boost-format
msgid "Nano SVG parser can't load from file (%1%)."
@@ -1311,7 +1310,8 @@ msgstr "측정"
msgid ""
"Please confirm explosion ratio = 1, and please select at least one object."
-msgstr "폭발 비율 = 1인지 확인하고 객체를 하나 이상 선택하십시오"
+msgstr ""
+"폭발 비율 = 1인지 확인하고 하나 이상의 객채를 선택하십시오"
msgid "Please select at least one object."
msgstr "객체를 하나 이상 선택하세요."
@@ -1336,7 +1336,7 @@ msgid "Selection"
msgstr "선택"
msgid " (Moving)"
-msgstr "(움직이는)"
+msgstr " (움직이는)"
msgid ""
"Select 2 faces on objects and \n"
@@ -1356,7 +1356,7 @@ msgid "Face"
msgstr "얼굴"
msgid " (Fixed)"
-msgstr "(고정된)"
+msgstr " (고정된)"
msgid "Point"
msgstr "가리키다"
@@ -1366,7 +1366,7 @@ msgid ""
"feature 2 has been feature 1"
msgstr ""
"기능 1이 재설정되었습니다.\n"
-"기능 2는 기능 1이 되었습니다."
+"기능 2는 기능 1이 되었습니다"
msgid "Warning: please select Plane's feature."
msgstr "경고: 평면의 기능을 선택하세요."
@@ -1447,14 +1447,14 @@ msgstr "구성 패키지가 로드되었지만, 일부 값이 인식되지 않
#, boost-format
msgid ""
"Configuration file \"%1%\" was loaded, but some values were not recognized."
-msgstr "구성 파일 \"%1%\"이(가) 로드되었지만 일부 값이 인식되지 않았습니다."
+msgstr "구성 파일 \"%1%\"가 로드되었지만 일부 값이 인식되지 않았습니다."
msgid ""
"OrcaSlicer will terminate because of running out of memory. It may be a bug. "
"It will be appreciated if you report the issue to our team."
msgstr ""
-"메모리 부족으로 OrcaSlicer가 종료됩니다. 버그일 수 있습니다. 저희 팀에 문제"
-"를 보고해 주시면 감사하겠습니다."
+"메모리 부족으로 OrcaSlicer가 종료됩니다. 버그일 수 있습니다. 저희 팀에 문제를 "
+"보고해 주시면 감사하겠습니다."
msgid "Fatal error"
msgstr "치명적 오류"
@@ -1585,8 +1585,8 @@ msgid ""
"The version of Orca Slicer is too low and needs to be updated to the latest "
"version before it can be used normally"
msgstr ""
-"Orca Slicer의 버전이 너무 낮아 최신 버전으로 업데이트해야 정상적으로 사용 가"
-"능합니다"
+"Orca Slicer의 버전이 너무 낮아 최신 버전으로 업데이트해야 정상적으로 사용 가능"
+"합니다"
msgid "Privacy Policy Update"
msgstr "개인 정보 보호 정책 업데이트"
@@ -1801,8 +1801,8 @@ msgid ""
"No - Do not change these settings for me"
msgstr ""
"이 모델은 상단 표면에 텍스트 엠보싱이 있습니다. 최적의 결과를 얻으려면 '상단 "
-"표면의 한 벽만'에 대해 '한 벽 임계값(min_width_top_surface)'을 0으로 설정하"
-"는 것이 가장 좋습니다.\n"
+"표면의 한 벽만'에 대해 '한 벽 임계값(min_width_top_surface)'을 0으로 설정하는 "
+"것이 가장 좋습니다.\n"
"예 - 이 설정을 자동으로 변경합니다\n"
"아니요 - 이 설정을 변경하지 않음"
@@ -2383,13 +2383,13 @@ msgid "Add Custom G-code"
msgstr "사용자 정의 Gcode 추가"
msgid "Insert custom G-code at the beginning of this layer."
-msgstr "이 레이어의 시작 부분에 사용자 정의 G코드를 삽입합니다."
+msgstr "이 레이어의 시작 부분에 사용자 정의 Gcode를 삽입합니다."
msgid "Add Custom Template"
msgstr "사용자 정의 템플릿 추가"
msgid "Insert template custom G-code at the beginning of this layer."
-msgstr "이 레이어의 시작 부분에 사용자 정의 템플릿 G코드를 삽입합니다."
+msgstr "이 레이어의 시작 부분에 사용자 정의 템플릿 Gcode를 삽입합니다."
msgid "Filament "
msgstr "필라멘트 "
@@ -2527,8 +2527,8 @@ msgid ""
"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically "
"load or unload filaments."
msgstr ""
-"AMS 슬롯을 선택한 다음 '로드' 또는 '언로드' 버튼을 누르면 필라멘트를 자동으"
-"로 로드하거나 언로드할 수 있습니다."
+"AMS 슬롯을 선택한 다음 '로드' 또는 '언로드' 버튼을 누르면 필라멘트를 자동으로 "
+"로드하거나 언로드할 수 있습니다."
msgid "Edit"
msgstr "편집"
@@ -2570,7 +2570,8 @@ msgstr "정렬 완료."
msgid ""
"Arrange failed. Found some exceptions when processing object geometries."
-msgstr "정렬에 실패했습니다. 객체 형상을 처리할 때 일부 예외를 발견했습니다."
+msgstr ""
+"정렬에 실패했습니다. 객체 형상을 처리할 때 일부 예외를 발견했습니다."
#, c-format, boost-format
msgid ""
@@ -2651,8 +2652,8 @@ msgid ""
"The print file exceeds the maximum allowable size (1GB). Please simplify the "
"model and slice again."
msgstr ""
-"출력 파일이 최대 허용 크기 (1GB) 를 초과했습니다.모델을 단순화하고 다시 슬라"
-"이스하세요."
+"출력 파일이 최대 허용 크기 (1GB) 를 초과했습니다.모델을 단순화하고 다시 슬라이"
+"스하세요."
msgid "Failed to send the print job. Please try again."
msgstr "출력 작업을 전송하지 못했습니다. 다시 시도하세요."
@@ -2676,8 +2677,8 @@ msgid ""
"Failed to upload print file to FTP. Please check the network status and try "
"again."
msgstr ""
-"출력 파일을 FTP에 업로드하지 못했습니다. 네트워크 상태를 확인하신 후 다시 시"
-"도해 주세요."
+"출력 파일을 FTP에 업로드하지 못했습니다. 네트워크 상태를 확인하신 후 다시 시도"
+"해 주세요."
msgid "Sending print job over LAN"
msgstr "LAN을 통해 출력 작업 전송 중"
@@ -2728,8 +2729,8 @@ msgid ""
"The SLA archive doesn't contain any presets. Please activate some SLA "
"printer preset first before importing that SLA archive."
msgstr ""
-"SLA 압축파일에 사전 설정이 없습니다. 해당 SLA 압축파일를 가져오기 전에 먼저 "
-"일부 SLA 프린터 사전 설정을 활성화하세요."
+"SLA 압축파일에 사전 설정이 없습니다. 해당 SLA 압축파일를 가져오기 전에 먼저 일"
+"부 SLA 프린터 사전 설정을 활성화하세요."
msgid "Importing canceled."
msgstr "가져오기가 취소되었습니다."
@@ -2741,8 +2742,8 @@ msgid ""
"The imported SLA archive did not contain any presets. The current SLA "
"presets were used as fallback."
msgstr ""
-"가져온 SLA 압축파일에 사전 설정이 없습니다. 현재 SLA 사전 설정이 예비로 사용"
-"되었습니다."
+"가져온 SLA 압축파일에 사전 설정이 없습니다. 현재 SLA 사전 설정이 예비로 사용되"
+"었습니다."
msgid "You cannot load SLA project with a multi-part object on the bed"
msgstr "베드에 다중 부품 객체가 있는 SLA 프로젝트를 로드할 수 없습니다"
@@ -2781,10 +2782,10 @@ msgid "License"
msgstr "라이센스"
msgid "Orca Slicer is licensed under "
-msgstr ""
+msgstr "Orca Slicer의 라이선스는 다음과 같습니다 "
msgid "GNU Affero General Public License, version 3"
-msgstr ""
+msgstr "GNU Affero 일반 공용 라이선스, 버전 3"
msgid "Orca Slicer is based on PrusaSlicer and BambuStudio"
msgstr "Orca Slicer는 PrusaSlicer와 BambuStudio를 기반으로 합니다"
@@ -2796,8 +2797,8 @@ msgid ""
"This software uses open source components whose copyright and other "
"proprietary rights belong to their respective owners"
msgstr ""
-"이 소프트웨어는 저작권 및 기타 소유권이 해당 소유자에게 속한 오픈 소스 구성 "
-"요소를 사용합니다"
+"이 소프트웨어는 저작권 및 기타 소유권이 해당 소유자에게 속한 오픈 소스 구성 요"
+"소를 사용합니다"
#, c-format, boost-format
msgid "About %s"
@@ -2936,8 +2937,8 @@ msgid ""
"hot bed like the picture below, and fill the value on its left side into the "
"factor K input box."
msgstr ""
-"교정이 완료되었습니다. 당신의 고온 베드에서 아래 사진과 같이 가장 균일한 압"
-"출 선을 찾아 왼쪽에 있는 값을 입력 상자의 K 계수에 채워주세요."
+"교정이 완료되었습니다. 당신의 고온 베드에서 아래 사진과 같이 가장 균일한 압출 "
+"선을 찾아 왼쪽에 있는 값을 입력 상자의 K 계수에 채워주세요."
msgid "Save"
msgstr "저장"
@@ -3043,8 +3044,7 @@ msgid ""
"(Currently supporting automatic supply of consumables with the same brand, "
"material type, and color)"
msgstr ""
-"AMS에 두 개의 동일한 필라멘트가 있는 경우 AMS 필라멘트 백업이 활성화됩니"
-"다.\n"
+"AMS에 두 개의 동일한 필라멘트가 있는 경우 AMS 필라멘트 백업이 활성화됩니다.\n"
"(현재 동일한 브랜드, 재질, 색상의 소모품 자동 공급 지원)"
msgid "DRY"
@@ -3077,8 +3077,8 @@ msgid ""
"When inserting a new filament, the AMS will not automatically read its "
"information, leaving it blank for you to enter manually."
msgstr ""
-"새 필라멘트를 삽입할 때 AMS는 정보를 자동으로 읽지 않고 사용자가 수동으로 입"
-"력할 수 있도록 비워 둡니다."
+"새 필라멘트를 삽입할 때 AMS는 정보를 자동으로 읽지 않고 사용자가 수동으로 입력"
+"할 수 있도록 비워 둡니다."
msgid "Power on update"
msgstr "업데이트 전원 유지"
@@ -3127,8 +3127,8 @@ msgid ""
"Detects clogging and filament grinding, halting printing immediately to "
"conserve time and filament."
msgstr ""
-"막힘 및 필라멘트 연삭을 감지하여 출력를 즉시 중단하여 시간과 필라멘트를 절약"
-"합니다."
+"막힘 및 필라멘트 연삭을 감지하여 출력를 즉시 중단하여 시간과 필라멘트를 절약합"
+"니다."
msgid "File"
msgstr "파일"
@@ -3180,7 +3180,7 @@ msgid "Please save project and restart the program."
msgstr "프로젝트를 저장하고 프로그램을 다시 시작하세요."
msgid "Processing G-code from Previous file..."
-msgstr "이전 파일의 G코드를 처리하는 중..."
+msgstr "이전 파일의 Gcode를 처리하는 중..."
msgid "Slicing complete"
msgstr "슬라이싱 완료"
@@ -3213,7 +3213,7 @@ msgid "Successfully executed post-processing script"
msgstr "성공적으로 실행된 후처리 스크립트"
msgid "Unknown error occurred during exporting G-code."
-msgstr "G코드를 내보내는 동안 알 수 없는 오류가 발생했습니다."
+msgstr "Gcode를 내보내는 동안 알 수 없는 오류가 발생했습니다."
#, boost-format
msgid ""
@@ -3221,7 +3221,7 @@ msgid ""
"card is write locked?\n"
"Error message: %1%"
msgstr ""
-"임시 G코드를 출력 G코드로 복사하지 못했습니다. SD 카드가 쓰기 잠겨 있나요?\n"
+"임시 Gcode를 출력 Gcode로 복사하지 못했습니다. SD 카드가 쓰기 잠겨 있나요?\n"
"오류 메시지입니다: %1%"
#, boost-format
@@ -3230,16 +3230,16 @@ msgid ""
"problem with target device, please try exporting again or using different "
"device. The corrupted output G-code is at %1%.tmp."
msgstr ""
-"임시 G코드를 출력 G코드로 복사하지 못했습니다. 대상 장치에 문제가 있을 수 있"
-"으니 다시 내보내거나 다른 장치를 사용해 보세요. 손상된 출력 G코드는 %1%.tmp"
-"에 있습니다."
+"임시 Gcode를 출력 Gcode로 복사하지 못했습니다. 대상 장치에 문제가 있을 수 있으"
+"니 다시 내보내거나 다른 장치를 사용해 보세요. 손상된 출력 Gcode는 %1%.tmp에 있"
+"습니다."
#, boost-format
msgid ""
"Renaming of the G-code after copying to the selected destination folder has "
"failed. Current path is %1%.tmp. Please try exporting again."
msgstr ""
-"선택한 대상 폴더로 복사한 후 G코드의 이름을 바꾸지 못했습니다. 현재 경로는 "
+"선택한 대상 폴더로 복사한 후 Gcode의 이름을 바꾸지 못했습니다. 현재 경로는 "
"%1%.tmp입니다. 내보내기를 다시 시도하세요."
#, boost-format
@@ -3247,23 +3247,23 @@ msgid ""
"Copying of the temporary G-code has finished but the original code at %1% "
"couldn't be opened during copy check. The output G-code is at %2%.tmp."
msgstr ""
-"임시 G코드의 복사가 완료되었지만 복사 확인 중에 %1%의 원본 코드를 열 수 없습"
-"니다. 출력 G-코드는 %2%.tmp에 있습니다."
+"임시 Gcode의 복사가 완료되었지만 복사 확인 중에 %1%의 원본 코드를 열 수 없습니"
+"다. 출력 G-코드는 %2%.tmp에 있습니다."
#, boost-format
msgid ""
"Copying of the temporary G-code has finished but the exported code couldn't "
"be opened during copy check. The output G-code is at %1%.tmp."
msgstr ""
-"임시 Gcode 복사가 완료되었지만 복사 확인 중에 내보낸 코드를 열 수 없습니다. "
-"출력 G-코드는 %1%.tmp에 있습니다."
+"임시 Gcode 복사가 완료되었지만 복사 확인 중에 내보낸 코드를 열 수 없습니다. 출"
+"력 G-코드는 %1%.tmp에 있습니다."
#, boost-format
msgid "G-code file exported to %1%"
msgstr "%1%로 내보낸 Gcode 파일"
msgid "Unknown error when exporting G-code."
-msgstr "G코드를 내보낼 때 알 수 없는 오류가 발생했습니다."
+msgstr "Gcode를 내보낼 때 알 수 없는 오류가 발생했습니다."
#, boost-format
msgid ""
@@ -3276,7 +3276,7 @@ msgstr ""
"원본 파일 %2%."
msgid "Copying of the temporary G-code to the output G-code failed"
-msgstr "출력 G코드에 임시 G코드를 복사하지 못했습니다"
+msgstr "출력 Gcode에 임시 Gcode를 복사하지 못했습니다"
#, boost-format
msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue"
@@ -3466,13 +3466,15 @@ msgid ""
"printers at the same time. (It depends on how many devices can undergo "
"heating at the same time.)"
msgstr ""
+"프린터를 동시에 사용할 수 있습니다. (동시에 가열할 수 있는 장치 수에 따라 다릅"
+"니다.)"
msgid "Wait"
-msgstr ""
+msgstr "대기"
msgid ""
"minute each batch. (It depends on how long it takes to complete the heating.)"
-msgstr ""
+msgstr "분 단위로 배치합니다. (가열을 완료하는 데 걸리는 시간에 따라 다릅니다.)"
msgid "Send"
msgstr "전송"
@@ -3659,15 +3661,15 @@ msgstr ""
"값이 0으로 재설정됩니다."
msgid ""
-"Alternate extra wall does't work well when ensure vertical shell thickness "
-"is set to All."
+"Alternate extra wall does't work well when ensure vertical shell thickness is "
+"set to All."
msgstr ""
"세로 쉘 두께가 모두로 설정된 경우 대체 여분의 벽이 제대로 작동하지 않습니다."
msgid ""
"Change these settings automatically?\n"
-"Yes - Change ensure vertical shell thickness to Moderate and enable "
-"alternate extra wall\n"
+"Yes - Change ensure vertical shell thickness to Moderate and enable alternate "
+"extra wall\n"
"No - Don't use alternate extra wall"
msgstr ""
"이 설정을 자동으로 변경하시겠습니까?\n"
@@ -3681,8 +3683,8 @@ msgid ""
"YES - Keep Prime Tower\n"
"NO - Keep Adaptive Layer Height and Independent Support Layer Height"
msgstr ""
-"적응형 레이어 높이 또는 독립적 서포트 레이어 높이가 켜져 있으면 프라임 타워"
-"가 작동하지 않습니다.\n"
+"적응형 레이어 높이 또는 독립적 서포트 레이어 높이가 켜져 있으면 프라임 타워가 "
+"작동하지 않습니다.\n"
"어떤 것을 유지하시겠습니까?\n"
"예 - 프라임 타워 유지\n"
"아니요 - 적응형 레이어 높이 및 독립적 서포트 레이어 높이 유지"
@@ -3823,7 +3825,7 @@ msgid "Cooling chamber"
msgstr "챔버 냉각"
msgid "Paused by the G-code inserted by user"
-msgstr "사용자가 삽입한 G코드로 인해 일시중지됨"
+msgstr "사용자가 삽입한 Gcode로 인해 일시중지됨"
msgid "Motor noise showoff"
msgstr "모터 소음 표시"
@@ -3869,16 +3871,16 @@ msgid ""
"45℃. In order to avoid extruder clogging, low temperature filament (PLA/PETG/"
"TPU) is not allowed to be loaded."
msgstr ""
-"현재 챔버 온도 또는 목표 챔버 온도가 45℃를 초과합니다. 압출기 막힘을 방지하"
-"기 위해 저온 필라멘트(PLA/PETG/TPU)를 로드할 수 없습니다."
+"현재 챔버 온도 또는 목표 챔버 온도가 45℃를 초과합니다. 압출기 막힘을 방지하기 "
+"위해 저온 필라멘트(PLA/PETG/TPU)를 로드할 수 없습니다."
msgid ""
"Low temperature filament (PLA/PETG/TPU) is loaded in the extruder. In order "
"to avoid extruder clogging, it is not allowed to set the chamber temperature "
"above 45℃."
msgstr ""
-"압출기에 저온 필라멘트(PLA/PETG/TPU)가 장착되어 있습니다. 압출기 막힘을 방지"
-"하기 위해 챔버 온도를 45℃ 이상으로 설정할 수 없습니다."
+"압출기에 저온 필라멘트(PLA/PETG/TPU)가 장착되어 있습니다. 압출기 막힘을 방지하"
+"기 위해 챔버 온도를 45℃ 이상으로 설정할 수 없습니다."
msgid ""
"When you set the chamber temperature below 40℃, the chamber temperature "
@@ -3893,7 +3895,8 @@ msgstr "출력 작업을 시작하지 못했습니다"
msgid ""
"This calibration does not support the currently selected nozzle diameter"
-msgstr "이 교정은 현재 선택된 노즐 직경을 지원하지 않습니다"
+msgstr ""
+"이 교정은 현재 선택된 노즐 직경을 지원하지 않습니다"
msgid "Current flowrate cali param is invalid"
msgstr "현재 압출량 교정 매개변수가 잘못되었습니다"
@@ -3902,7 +3905,7 @@ msgid "Selected diameter and machine diameter do not match"
msgstr "선택한 직경과 장치의 직경이 일치하지 않습니다"
msgid "Failed to generate cali G-code"
-msgstr "교정 G코드를 생성하지 못했습니다"
+msgstr "교정 Gcode를 생성하지 못했습니다"
msgid "Calibration error"
msgstr "교정 오류"
@@ -3924,8 +3927,8 @@ msgid ""
"CF/GF filaments are hard and brittle, it's easy to break or get stuck in "
"AMS, please use with caution."
msgstr ""
-"CF/GF 필라멘트는 단단하고 부서지기 쉽습니다. AMS에 걸리거나 부러지기 쉬우므"
-"로 주의하여 사용하세요."
+"CF/GF 필라멘트는 단단하고 부서지기 쉽습니다. AMS에 걸리거나 부러지기 쉬우므로 "
+"주의하여 사용하세요."
msgid "default"
msgstr "기본값"
@@ -3935,14 +3938,14 @@ msgid "Edit Custom G-code (%1%)"
msgstr "사용자 지정 Gcode 편집 (%1%)"
msgid "Built-in placeholders (Double click item to add to G-code)"
-msgstr "기본 제공 플레이스홀더 (항목을 두 번 클릭하여 G코드에 추가)"
+msgstr "기본 제공 플레이스홀더 (항목을 두 번 클릭하여 Gcode에 추가)"
#, fuzzy
msgid "Search G-code placeholders"
msgstr "Gcode 자리 표시자 검색"
msgid "Add selected placeholder to G-code"
-msgstr "선택한 플레이스홀더를 G코드에 추가"
+msgstr "선택한 플레이스홀더를 Gcode에 추가"
msgid "Select placeholder"
msgstr "자리 표시자 선택"
@@ -4352,7 +4355,7 @@ msgstr "플레이트 선택"
msgid "Assembly Return"
msgstr "조립 되돌리기"
-msgid "return"
+msgid "Return"
msgstr "돌아가기"
msgid "Paint Toolbar"
@@ -4384,8 +4387,8 @@ msgid ""
"Conflicts of G-code paths have been found at layer %d, z = %.2lf mm. Please "
"separate the conflicted objects farther (%s <-> %s)."
msgstr ""
-"레이어 %d, z = %.2lf mm에서 Gcode 경로 충돌이 발견되었습니다. 충돌하는 객체"
-"를 더 멀리 분리하세요 (%s <-> %s)."
+"레이어 %d, z = %.2lf mm에서 Gcode 경로 충돌이 발견되었습니다. 충돌하는 객체를 "
+"더 멀리 분리하세요 (%s <-> %s)."
msgid "An object is laid over the plate boundaries."
msgstr "객체가 플레이트 경계 위에 놓여 있습니다."
@@ -4405,8 +4408,8 @@ msgid ""
"confirming that the height is within the build volume."
msgstr ""
"객체가 플레이트 경계를 넘었거나 높이 제한을 초과했습니다.\n"
-"플레이트 위 또는 밖으로 완전히 이동시키고 높이가 빌드 출력 가능 영역 내에 있"
-"는지 확인하여 문제를 해결하세요."
+"플레이트 위 또는 밖으로 완전히 이동시키고 높이가 빌드 출력 가능 영역 내에 있는"
+"지 확인하여 문제를 해결하세요."
msgid "Calibration step selection"
msgstr "교정 단계 선택"
@@ -4697,7 +4700,7 @@ msgid "Export G-code"
msgstr "Gcode 내보내기"
msgid "Export current plate as G-code"
-msgstr "현재 플레이트를 G코드로 내보내기"
+msgstr "현재 플레이트를 Gcode로 내보내기"
msgid "Export Preset Bundle"
msgstr "프리셋 번들 내보내기"
@@ -4841,13 +4844,13 @@ msgid "Flow rate test - Pass 2"
msgstr "압출량 테스트 - 2차"
msgid "YOLO (Recommended)"
-msgstr "YOLO(권장)"
+msgstr "YOLO (권장)"
msgid "Orca YOLO flowrate calibration, 0.01 step"
msgstr "Orca YOLO 압출량 보정, 0.01 단계"
msgid "YOLO (perfectionist version)"
-msgstr "YOLO(완벽주의자 버전)"
+msgstr "YOLO (완벽주의자 버전)"
msgid "Orca YOLO flowrate calibration, 0.005 step"
msgstr "Orca YOLO 압출량 보정, 0.005 단계"
@@ -4924,11 +4927,11 @@ msgstr "도움말 (&H)"
#, c-format, boost-format
msgid "A file exists with the same name: %s, do you want to overwrite it?"
-msgstr "같은 이름을 가진 파일이 존재합니다: %s, 덮어 쓰겠습니까."
+msgstr "같은 이름을 가진 파일이 존재합니다: %s, 덮어 쓰시겠습니까?"
#, c-format, boost-format
msgid "A config exists with the same name: %s, do you want to overwrite it?"
-msgstr "같은 이름을 가진 설정이 존재합니다: %s, 덮어 쓰겠습니까."
+msgstr "같은 이름을 가진 설정이 존재합니다: %s, 덮어 쓰시겠습니까?"
msgid "Overwrite file"
msgstr "파일 덮어쓰기"
@@ -4964,8 +4967,8 @@ msgstr[0] "%d개의 설정을 가져왔습니다. (비 시스템 및 호환 설
msgid ""
"\n"
-"Hint: Make sure you have added the corresponding printer before importing "
-"the configs."
+"Hint: Make sure you have added the corresponding printer before importing the "
+"configs."
msgstr ""
"\n"
"힌트: 구성을 가져오기 전에 해당 프린터를 추가했는지 확인하세요."
@@ -5012,8 +5015,7 @@ msgid "Please confirm if the printer is connected."
msgstr "프린터가 연결되어 있는지 확인하세요."
msgid ""
-"The printer is currently busy downloading. Please try again after it "
-"finishes."
+"The printer is currently busy downloading. Please try again after it finishes."
msgstr "프린터가 현재 다운로드 중입니다. 다운로드가 완료된 후 다시 시도하세요."
msgid "Printer camera is malfunctioning."
@@ -5040,8 +5042,8 @@ msgid ""
"Please check the network and try again. You can restart or update the "
"printer if the issue persists."
msgstr ""
-"네트워크를 확인하고 다시 시도해 보세요. 문제가 지속되면 프린터를 다시 시작하"
-"거나 업데이트할 수 있습니다."
+"네트워크를 확인하고 다시 시도해 보세요. 문제가 지속되면 프린터를 다시 시작하거"
+"나 업데이트할 수 있습니다."
msgid "The printer has been logged out and cannot connect."
msgstr "프린터가 로그아웃되어 연결할 수 없습니다."
@@ -5193,8 +5195,8 @@ msgid "Failed to parse model information."
msgstr "모델 정보를 구문 분석하지 못했습니다."
msgid ""
-"The .gcode.3mf file contains no G-code data. Please slice it with Orca "
-"Slicer and export a new .gcode.3mf file."
+"The .gcode.3mf file contains no G-code data. Please slice it with Orca Slicer "
+"and export a new .gcode.3mf file."
msgstr ""
".gcode.3mf 파일에는 Gcode 데이터가 없습니다. OrcaSlicer에서 슬라이스하고 "
"새 .gcode.3mf 파일을 내보내십시오."
@@ -5408,8 +5410,8 @@ msgid ""
"Cannot read filament info: the filament is loaded to the tool head,please "
"unload the filament and try again."
msgstr ""
-"필라멘트 정보를 읽을 수 없음: 필라멘트가 툴 헤드에 로드되었습니다. 필라멘트"
-"를 언로드하고 다시 시도하세요."
+"필라멘트 정보를 읽을 수 없음: 필라멘트가 툴 헤드에 로드되었습니다. 필라멘트를 "
+"언로드하고 다시 시도하세요."
msgid "This only takes effect during printing"
msgstr "출력하는 동안에만 적용됩니다"
@@ -5516,8 +5518,8 @@ msgid ""
"Some of your images failed to upload. Would you like to redirect to the "
"webpage to give a rating?"
msgstr ""
-"일부 이미지를 업로드하지 못했습니다. 평가를 위해 웹페이지로 리디렉션하시겠습"
-"니까?"
+"일부 이미지를 업로드하지 못했습니다. 평가를 위해 웹페이지로 리디렉션하시겠습니"
+"까?"
msgid "You can select up to 16 images."
msgstr "최대 16개의 이미지를 선택할 수 있습니다."
@@ -5584,8 +5586,7 @@ msgid "The 3mf file version is newer than the current Orca Slicer version."
msgstr "3mf 파일 버전은 현재 Orca Slicer 버전보다 최신 버전입니다."
msgid "Update your Orca Slicer could enable all functionality in the 3mf file."
-msgstr ""
-"Orca Slicer를 업데이트하면 3mf 파일의 모든 기능을 활성화할 수 있습니다."
+msgstr "Orca Slicer를 업데이트하면 3mf 파일의 모든 기능을 활성화할 수 있습니다."
msgid "Current Version: "
msgstr "현재 버전: "
@@ -5786,8 +5787,8 @@ msgid ""
"The localization tag of build plate is detected, and printing is paused if "
"the tag is not in predefined range."
msgstr ""
-"빌드 플레이트의 현지화 태그가 감지되고 태그가 사전 설정된 범위를 벗어나면 출"
-"력이 일시 정지됩니다."
+"빌드 플레이트의 현지화 태그가 감지되고 태그가 사전 설정된 범위를 벗어나면 출력"
+"이 일시 정지됩니다."
msgid "First Layer Inspection"
msgstr "첫 레이어 검사"
@@ -5923,8 +5924,8 @@ msgstr "펠릿"
msgid ""
"No AMS filaments. Please select a printer in 'Device' page to load AMS info."
msgstr ""
-"AMS 필라멘트가 없습니다. AMS 정보를 불러오려면 '장치' 페이지에서 프린터를 선"
-"택하세요."
+"AMS 필라멘트가 없습니다. AMS 정보를 불러오려면 '장치' 페이지에서 프린터를 선택"
+"하세요."
msgid "Sync filaments with AMS"
msgstr "AMS와 필라멘트 동기화"
@@ -5933,15 +5934,15 @@ msgid ""
"Sync filaments with AMS will drop all current selected filament presets and "
"colors. Do you want to continue?"
msgstr ""
-"AMS와 동기화된 필라멘트는 현재 선택된 모든 필라멘트 사전 설정 및 색상을 삭제"
-"합니다. 계속하시겠습니까?"
+"AMS와 동기화된 필라멘트는 현재 선택된 모든 필라멘트 사전 설정 및 색상을 삭제합"
+"니다. 계속하시겠습니까?"
msgid ""
"Already did a synchronization, do you want to sync only changes or resync "
"all?"
msgstr ""
-"이미 동기화를 수행했습니다. 변경 사항만 동기화하시겠습니까? 아니면 다시 동기"
-"화하시겠습니까?"
+"이미 동기화를 수행했습니다. 변경 사항만 동기화하시겠습니까? 아니면 다시 동기화"
+"하시겠습니까?"
msgid "Sync"
msgstr "동기화"
@@ -5957,9 +5958,9 @@ msgid ""
"Orca Slicer or restart Orca Slicer to check if there is an update to system "
"presets."
msgstr ""
-"일반 사전 설정에 매핑된 알 수 없는 필라멘트가 있습니다. Orca Slicer를 업데이"
-"트하거나 Orca Slicer를 다시 시작하여 시스템 사전 설정에 대한 업데이트가 있는"
-"지 확인하세요."
+"일반 사전 설정에 매핑된 알 수 없는 필라멘트가 있습니다. Orca Slicer를 업데이트"
+"하거나 Orca Slicer를 다시 시작하여 시스템 사전 설정에 대한 업데이트가 있는지 "
+"확인하세요."
#, boost-format
msgid "Do you want to save changes to \"%1%\"?"
@@ -5970,7 +5971,7 @@ msgid ""
"Successfully unmounted. The device %s (%s) can now be safely removed from the "
"computer."
msgstr ""
-"성공적으로 마운트 해제되었습니다. 이제 %s(%s) 장치를 컴퓨터에서 안전하게 제거"
+"성공적으로 마운트 해제되었습니다. 이제 %s (%s) 장치를 컴퓨터에서 안전하게 제거"
"할 수 있습니다."
#, c-format, boost-format
@@ -5988,8 +5989,8 @@ msgid ""
"clogged when printing this filament in a closed enclosure. Please open the "
"front door and/or remove the upper glass."
msgstr ""
-"현재 베드 온도가 상대적으로 높습니다. 닫힌 공간에서 이 필라멘트를 출력할 때 "
-"노즐이 막힐 수 있습니다. 전면 도어를 열거나 상단 유리를 제거하세요."
+"현재 베드 온도가 상대적으로 높습니다. 닫힌 공간에서 이 필라멘트를 출력할 때 노"
+"즐이 막힐 수 있습니다. 전면 도어를 열거나 상단 유리를 제거하세요."
msgid ""
"The nozzle hardness required by the filament is higher than the default "
@@ -5997,15 +5998,15 @@ msgid ""
"filament, otherwise, the nozzle will be attrited or damaged."
msgstr ""
"필라멘트에 필요한 노즐 경도가 프린터의 기본 노즐 경도보다 높습니다. \"경화강"
-"\" 노즐을 사용하거나 필라멘트를 교체하세요. 그렇지 않으면 노즐이 마모되거나 "
-"손상됩니다."
+"\" 노즐을 사용하거나 필라멘트를 교체하세요. 그렇지 않으면 노즐이 마모되거나 손"
+"상됩니다."
msgid ""
"Enabling traditional timelapse photography may cause surface imperfections. "
"It is recommended to change to smooth mode."
msgstr ""
-"기존 타임랩스 사진을 사용하면 표면 결함이 발생할 수 있습니다. 유연 모드로 변"
-"경하는 것이 좋습니다."
+"기존 타임랩스 사진을 사용하면 표면 결함이 발생할 수 있습니다. 유연 모드로 변경"
+"하는 것이 좋습니다."
msgid "Expand sidebar"
msgstr "사이드바 확장"
@@ -6038,8 +6039,7 @@ msgid ""
"The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your "
"software."
msgstr ""
-"3mf의 %s 버전이 %s의 %s 버전보다 최신입니다. 소프트웨어를 업그레이드 하십시"
-"오."
+"3mf의 %s 버전이 %s의 %s 버전보다 최신입니다. 소프트웨어를 업그레이드 하십시오."
msgid "Invalid values found in the 3mf:"
msgstr "3mf에서 잘못된 값이 발견됨:"
@@ -6050,12 +6050,12 @@ msgstr "매개변수 탭에서 수정하세요"
msgid ""
"The 3mf has the following modified G-code in filament or printer presets:"
msgstr ""
-"3mf에는 필라멘트 또는 프린터 사전 설정에 다음과 같은 수정된 G코드가 있습니다:"
+"3mf에는 필라멘트 또는 프린터 사전 설정에 다음과 같은 수정된 Gcode가 있습니다:"
msgid ""
"Please confirm that all modified G-code is safe to prevent any damage to the "
"machine!"
-msgstr "이 수정된 G코드가 손상을 방지하기 위해 안전한지 확인하세요.장치!"
+msgstr "이 수정된 Gcode가 손상을 방지하기 위해 안전한지 확인하세요.장치!"
msgid "Modified G-code"
msgstr "수정된 Gcode"
@@ -6067,7 +6067,7 @@ msgid ""
"Please confirm that the G-code within these presets is safe to prevent any "
"damage to the machine!"
msgstr ""
-"이러한 사전 설정 내의 G코드가 기계 손상을 방지할 수 있도록 안전한지 확인하세"
+"이러한 사전 설정 내의 Gcode가 기계 손상을 방지할 수 있도록 안전한지 확인하세"
"요!"
msgid "Customized Preset"
@@ -6084,7 +6084,7 @@ msgstr "선택 기억하기."
#, boost-format
msgid "Failed loading file \"%1%\". An invalid configuration was found."
-msgstr "파일 \"%1%\"을(를) 로드하지 못했습니다. 잘못된 구성이 발견되었습니다."
+msgstr "파일 \"%1%\"를 로드하지 못했습니다. 잘못된 구성이 발견되었습니다."
msgid "Objects with zero volume removed"
msgstr "부피가 0인 객체가 제거됨"
@@ -6149,7 +6149,7 @@ msgid ""
"The file %s already exists\n"
"Do you want to replace it?"
msgstr ""
-"파일 %s이(가) 이미 존재합니다.\n"
+"파일 %s가 이미 존재합니다.\n"
"파일을 바꾸시겠습니까?"
msgid "Confirm Save As"
@@ -6236,7 +6236,7 @@ msgid ""
"The loaded file contains G-code only, cannot enter the Prepare page."
msgstr ""
"미리 보기 전용 모드:\n"
-"불러온 파일에 G코드만 포함되어 있습니다. 준비 페이지에 들어갈 수 없습니다"
+"불러온 파일에 Gcode만 포함되어 있습니다. 준비 페이지에 들어갈 수 없습니다."
msgid "You can keep the modified presets to the new project or discard them"
msgstr "수정된 사전 설정을 새 프로젝트에 유지하거나 삭제할 수 있습니다"
@@ -6253,8 +6253,8 @@ msgid ""
"project file."
msgstr ""
"프로젝트를 저장하지 못했습니다.\n"
-"폴더가 온라인에 존재하는지 또는 다른 프로그램이 프로젝트 파일을 사용 중인지 "
-"확인하세요."
+"폴더가 온라인에 존재하는지 또는 다른 프로그램이 프로젝트 파일을 사용 중인지 확"
+"인하세요."
msgid "Save project"
msgstr "프로젝트 저장"
@@ -6308,7 +6308,7 @@ msgid "The selected file"
msgstr "선택한 파일"
msgid "does not contain valid G-code."
-msgstr "유효한 G코드를 포함하지 않습니다."
+msgstr "유효한 Gcode를 포함하지 않습니다."
msgid "Error occurs while loading G-code file"
msgstr "Gcode 파일을 로드하는 중 오류가 발생했습니다"
@@ -6342,7 +6342,8 @@ msgstr "형상만 가져오기"
msgid ""
"This option can be changed later in preferences, under 'Load Behaviour'."
-msgstr "이 옵션은 나중에 환경설정에서 '로드 동작'에서 변경할 수 있습니다."
+msgstr ""
+"이 옵션은 나중에 환경설정에서 '로드 동작'에서 변경할 수 있습니다."
msgid "Only one G-code file can be opened at the same time."
msgstr "동시에 하나의 Gcode 파일만 열 수 있습니다."
@@ -6361,8 +6362,8 @@ msgstr "모든 객체가 제거됩니다. 계속하시겠습니까?"
msgid "The current project has unsaved changes, save it before continue?"
msgstr ""
-"현재 프로젝트에 저장되지 않은 변경 사항이 있습니다. 계속하기 전에 저장하시겠"
-"습니까?"
+"현재 프로젝트에 저장되지 않은 변경 사항이 있습니다. 계속하기 전에 저장하시겠습"
+"니까?"
msgid "Number of copies:"
msgstr "복제본 수:"
@@ -6387,14 +6388,14 @@ msgstr "슬라이스 파일을 다음으로 저장:"
#, c-format, boost-format
msgid ""
-"The file %s has been sent to the printer's storage space and can be viewed "
-"on the printer."
+"The file %s has been sent to the printer's storage space and can be viewed on "
+"the printer."
msgstr ""
"%s 파일이 프린터의 저장 공간으로 전송되었으며 프린터에서 볼 수 있습니다."
msgid ""
-"Unable to perform boolean operation on model meshes. Only positive parts "
-"will be kept. You may fix the meshes and try again."
+"Unable to perform boolean operation on model meshes. Only positive parts will "
+"be kept. You may fix the meshes and try again."
msgstr ""
"모델 메시에 대해 부울 연산을 수행할 수 없습니다. 긍정적인 부분만 유지됩니다. "
"메시를 수정하고 재시도해 볼 수 있습니다."
@@ -6416,8 +6417,8 @@ msgid "Reason: \"%1%\" and another part have no intersection."
msgstr "이유: \"%1%\"과(와) 다른 부분에는 교차점이 없습니다."
msgid ""
-"Unable to perform boolean operation on model meshes. Only positive parts "
-"will be exported."
+"Unable to perform boolean operation on model meshes. Only positive parts will "
+"be exported."
msgstr ""
"모델 메시에 부울 연산을 수행할 수 없습니다. 오직 양수 부품만 내보내집니다."
@@ -6591,8 +6592,8 @@ msgid ""
"This stops the transmission of data to Bambu's cloud services. Users who "
"don't use BBL machines or use LAN mode only can safely turn on this function."
msgstr ""
-"이 기능은 뱀부의 클라우드 서비스로의 데이터 전송을 중지합니다. BBL 머신을 사"
-"용하지 않거나 LAN 모드만 사용하는 사용자는 이 기능을 안전하게 켤 수 있습니다."
+"이 기능은 뱀부의 클라우드 서비스로의 데이터 전송을 중지합니다. BBL 머신을 사용"
+"하지 않거나 LAN 모드만 사용하는 사용자는 이 기능을 안전하게 켤 수 있습니다."
msgid "Enable network plugin"
msgstr "네트워크 플러그인 사용"
@@ -6614,17 +6615,16 @@ msgstr "OrcaSlicer 인스턴스를 하나만 허용"
msgid ""
"On OSX there is always only one instance of app running by default. However "
-"it is allowed to run multiple instances of same app from the command line. "
-"In such case this settings will allow only one instance."
+"it is allowed to run multiple instances of same app from the command line. In "
+"such case this settings will allow only one instance."
msgstr ""
"OSX에서는 기본적으로 항상 하나의 앱 인스턴스만 실행됩니다. 그러나 명령줄에서 "
"동일한 앱의 여러 인스턴스를 실행할 수 있습니다. 그러한 경우 이 설정은 하나의 "
"인스턴스만 허용합니다."
msgid ""
-"If this is enabled, when starting OrcaSlicer and another instance of the "
-"same OrcaSlicer is already running, that instance will be reactivated "
-"instead."
+"If this is enabled, when starting OrcaSlicer and another instance of the same "
+"OrcaSlicer is already running, that instance will be reactivated instead."
msgstr ""
"이 기능을 활성화하면 OrcaSlicer를 시작하고 동일한 OrcaSlicer의 다른 인스턴스"
"가 이미 실행 중일 때 해당 인스턴스가 대신 다시 활성화됩니다."
@@ -6714,8 +6714,8 @@ msgid "Multi-device Management (Take effect after restarting Orca Slicer)."
msgstr "다중 장치 관리 (Orca를 다시 시작한 후 적용됨)."
msgid ""
-"With this option enabled, you can send a task to multiple devices at the "
-"same time and manage multiple devices."
+"With this option enabled, you can send a task to multiple devices at the same "
+"time and manage multiple devices."
msgstr ""
"활성화하면 여러 장치에 동시에 작업을 보내고 여러 장치를 관리할 수 있습니다."
@@ -6765,8 +6765,7 @@ msgstr ".step/.stp 파일을 OrcaSlicer에 연결"
msgid "If enabled, sets OrcaSlicer as default application to open .step files"
msgstr ""
-"활성화된 경우 OrcaSlicer를 기본 응용 프로그램으로 설정하여 .step 파일을 엽니"
-"다"
+"활성화된 경우 OrcaSlicer를 기본 응용 프로그램으로 설정하여 .step 파일을 엽니다"
msgid "Associate web links to OrcaSlicer"
msgstr "OrcaSlicer에 웹 링크 연결"
@@ -6802,7 +6801,7 @@ msgid "Clear my choice on the unsaved projects."
msgstr "저장되지 않은 프로젝트에서 내 선택을 지웁니다."
msgid "No warnings when loading 3MF with modified G-code"
-msgstr "수정된 G코드로 3MF를 로드할 때 경고 없음"
+msgstr "수정된 Gcode로 3MF를 로드할 때 경고 없음"
msgid "Auto-Backup"
msgstr "자동 백업"
@@ -7068,7 +7067,8 @@ msgstr "%1% 사전 설정이 이미 있습니다."
#, boost-format
msgid ""
"Preset \"%1%\" already exists and is incompatible with the current printer."
-msgstr "%1% 사전 설정이 이미 있으며 현재 프린터와 호환되지 않습니다."
+msgstr ""
+"%1% 사전 설정이 이미 있으며 현재 프린터와 호환되지 않습니다."
#, fuzzy
msgid "Please note that saving will overwrite this preset."
@@ -7194,8 +7194,8 @@ msgid ""
"Filament %s exceeds the number of AMS slots. Please update the printer "
"firmware to support AMS slot assignment."
msgstr ""
-"필라멘트 %s이(가) AMS 슬롯 수를 초과합니다. AMS 슬롯 할당을 지원하려면 프린"
-"터 펌웨어를 업데이트하세요."
+"필라멘트 %s가 AMS 슬롯 수를 초과합니다. AMS 슬롯 할당을 지원하려면 프린터 펌웨"
+"어를 업데이트하세요."
msgid ""
"Filament exceeds the number of AMS slots. Please update the printer firmware "
@@ -7208,23 +7208,22 @@ msgid ""
"Filaments to AMS slots mappings have been established. You can click a "
"filament above to change its mapping AMS slot"
msgstr ""
-"AMS 슬롯 매핑에 대한 필라멘트가 설정되었습니다. 위의 필라멘트를 클릭하여 매"
-"핑 AMS 슬롯을 변경할 수 있습니다"
+"AMS 슬롯 매핑에 대한 필라멘트가 설정되었습니다. 위의 필라멘트를 클릭하여 매핑 "
+"AMS 슬롯을 변경할 수 있습니다"
msgid ""
"Please click each filament above to specify its mapping AMS slot before "
"sending the print job"
msgstr ""
-"출력 작업을 보내기 전에 위의 각 필라멘트를 클릭하여 매핑 AMS 슬롯을 지정하세"
-"요"
+"출력 작업을 보내기 전에 위의 각 필라멘트를 클릭하여 매핑 AMS 슬롯을 지정하세요"
#, c-format, boost-format
msgid ""
"Filament %s does not match the filament in AMS slot %s. Please update the "
"printer firmware to support AMS slot assignment."
msgstr ""
-"필라멘트 %s가 AMS 슬롯 %s의 필라멘트와 일치하지 않습니다. AMS 슬롯 할당을 지"
-"원하려면 프린터 펌웨어를 업데이트하세요."
+"필라멘트 %s가 AMS 슬롯 %s의 필라멘트와 일치하지 않습니다. AMS 슬롯 할당을 지원"
+"하려면 프린터 펌웨어를 업데이트하세요."
msgid ""
"Filament does not match the filament in AMS slot. Please update the printer "
@@ -7246,8 +7245,7 @@ msgid ""
"The selected printer (%s) is incompatible with the chosen printer profile in "
"the slicer (%s)."
msgstr ""
-"선택한 프린터(%s)는 슬라이서(%s)에서 선택한 프린터 프로필과 호환되지 않습니"
-"다."
+"선택한 프린터(%s)는 슬라이서(%s)에서 선택한 프린터 프로필과 호환되지 않습니다."
msgid "An SD card needs to be inserted to record timelapse."
msgstr "타임랩스를 녹화하려면 SD 카드를 삽입해야 합니다."
@@ -7267,8 +7265,8 @@ msgid ""
"When enable spiral vase mode, machines with I3 structure will not generate "
"timelapse videos."
msgstr ""
-"나선형 꽃병 모드를 활성화하면 I3 구조의 장치는 타임랩스 비디오를 생성하지 않"
-"습니다."
+"나선형 꽃병 모드를 활성화하면 I3 구조의 장치는 타임랩스 비디오를 생성하지 않습"
+"니다."
msgid ""
"Timelapse is not supported because Print sequence is set to \"By object\"."
@@ -7286,7 +7284,7 @@ msgid ""
"currently selected printer. It is recommended that you use the same printer "
"type for slicing."
msgstr ""
-"G코드를 생성할 때 선택한 프린터 유형이 현재 선택한 프린터와 일치하지 않습니"
+"Gcode를 생성할 때 선택한 프린터 유형이 현재 선택한 프린터와 일치하지 않습니"
"다. 슬라이싱에 동일한 프린터 유형을 사용하는 것이 좋습니다."
msgid ""
@@ -7446,9 +7444,9 @@ msgid ""
msgstr ""
"뱀부랩 기기를 구매해 주셔서 감사합니다. 뱀부랩 기기를 사용하기 전에 이용약관"
"을 읽어주시기 바랍니다. 뱀부랩 기기 사용에 동의하기 위해 클릭하면 개인정보 보"
-"호정책 및 이용약관(이하 통칭하여 \"약관\")을 준수하는 데 동의하는 것입니다. "
-"뱀부랩 개인정보 처리방침을 준수하지 않거나 동의하지 않는 경우, 뱀부랩 장치 "
-"및 서비스를 사용하지 마십시오."
+"호정책 및 이용약관(이하 통칭하여 \"약관\")을 준수하는 데 동의하는 것입니다. 뱀"
+"부랩 개인정보 처리방침을 준수하지 않거나 동의하지 않는 경우, 뱀부랩 장치 및 서"
+"비스를 사용하지 마십시오."
msgid "and"
msgstr "그리고"
@@ -7476,14 +7474,14 @@ msgid ""
"payment information, or phone numbers. By enabling this service, you agree "
"to these terms and the statement about Privacy Policy."
msgstr ""
-"3D 프린팅 커뮤니티에서는 서로의 성공과 실패로 부터 학습하여 각자의 슬라이싱 "
-"매개변수와 설정을 조정합니다. %s는 이와 동일한 원칙을 따르며 머신 러닝을 사용"
-"하여 사용자의 방대한 출력 성공과 실패로부터 성능을 개선합니다. 우리는 실제 데"
-"이터를 통하여 %s가 더 똑똑해지도록 훈련시킵니다. 동의하신다면 이 서비스는 오"
-"류 로그와 사용 로그를 포함할 수 있는 정보에 접근할 것입니다. 당사는 개인이 직"
-"접 또는 간접적으로 식별될 수 있는 개인 데이터, 예를 들어 이름, 주소, 결제 정"
-"보 또는 전화번호를 포함하여 어떤 개인 데이터도 수집하지 않습니다. 이 서비스"
-"를 활성화하면 이 약관과 개인정보 보호정책에 대한 설명에 동의하는 것입니다."
+"3D 프린팅 커뮤니티에서는 서로의 성공과 실패로 부터 학습하여 각자의 슬라이싱 매"
+"개변수와 설정을 조정합니다. %s는 이와 동일한 원칙을 따르며 머신 러닝을 사용하"
+"여 사용자의 방대한 출력 성공과 실패로부터 성능을 개선합니다. 우리는 실제 데이"
+"터를 통하여 %s가 더 똑똑해지도록 훈련시킵니다. 동의하신다면 이 서비스는 오류 "
+"로그와 사용 로그를 포함할 수 있는 정보에 접근할 것입니다. 당사는 개인이 직접 "
+"또는 간접적으로 식별될 수 있는 개인 데이터, 예를 들어 이름, 주소, 결제 정보 또"
+"는 전화번호를 포함하여 어떤 개인 데이터도 수집하지 않습니다. 이 서비스를 활성"
+"화하면 이 약관과 개인정보 보호정책에 대한 설명에 동의하는 것입니다."
msgid "Statement on User Experience Improvement Plan"
msgstr "사용자 경험 개선 계획에 대한 성명서"
@@ -7524,17 +7522,15 @@ msgid ""
"A prime tower is required for smooth timelapse. There may be flaws on the "
"model without prime tower. Are you sure you want to disable prime tower?"
msgstr ""
-"유연모드 타임랩스를 위해서는 프라임 타워가 필요합니다. 프라임 타워가 없는 모"
-"델에는 결함이 있을 수 있습니다. 프라임 타워를 사용하지 않도록 설정하시겠습니"
-"까?"
+"유연모드 타임랩스를 위해서는 프라임 타워가 필요합니다. 프라임 타워가 없는 모델"
+"에는 결함이 있을 수 있습니다. 프라임 타워를 사용하지 않도록 설정하시겠습니까?"
msgid ""
"A prime tower is required for smooth timelapse. There may be flaws on the "
"model without prime tower. Do you want to enable prime tower?"
msgstr ""
-"유연모드 타임랩스를 위해서는 프라임 타워가 필요합니다. 프라임 타워가 없는 모"
-"델에는 결함이 있을 수 있습니다. 프라임 타워를 사용하지 않도록 설정하시겠습니"
-"까?"
+"유연모드 타임랩스를 위해서는 프라임 타워가 필요합니다. 프라임 타워가 없는 모델"
+"에는 결함이 있을 수 있습니다. 프라임 타워를 사용하지 않도록 설정하시겠습니까?"
msgid "Still print by object?"
msgstr "아직도 객체별로 출력하시나요?"
@@ -7563,9 +7559,9 @@ msgid ""
"precise dimensions or is part of an assembly, it's important to double-check "
"whether this change in geometry impacts the functionality of your print."
msgstr ""
-"이 옵션을 활성화하면 모델의 모양이 수정됩니다. 출력물에 정확한 치수가 필요하"
-"거나 어셈블리의 일부인 경우 이러한 형상 변경이 출력물의 기능에 영향을 미치는"
-"지 다시 확인하는 것이 중요합니다."
+"이 옵션을 활성화하면 모델의 모양이 수정됩니다. 출력물에 정확한 치수가 필요하거"
+"나 어셈블리의 일부인 경우 이러한 형상 변경이 출력물의 기능에 영향을 미치는지 "
+"다시 확인하는 것이 중요합니다."
msgid "Are you sure you want to enable this option?"
msgstr "이 옵션을 사용하시겠습니까?"
@@ -7599,9 +7595,9 @@ msgid ""
"reduce flush, it may also elevate the risk of nozzle clogs or other "
"printing complications."
msgstr ""
-"실험적 기능: 플러시를 최소화하기 위해 필라멘트 교체 중에 더 먼 거리에서 필라"
-"멘트를 집어넣고 절단합니다. 플러시를 눈에 띄게 줄일 수 있지만 노즐 막힘이나 "
-"기타 출력 문제의 위험이 높아질 수도 있습니다."
+"실험적 기능: 플러시를 최소화하기 위해 필라멘트 교체 중에 더 먼 거리에서 필라멘"
+"트를 집어넣고 절단합니다. 플러시를 눈에 띄게 줄일 수 있지만 노즐 막힘이나 기"
+"타 출력 문제의 위험이 높아질 수도 있습니다."
msgid ""
"Experimental feature: Retracting and cutting off the filament at a greater "
@@ -7609,10 +7605,9 @@ msgid ""
"reduce flush, it may also elevate the risk of nozzle clogs or other printing "
"complications. Please use with the latest printer firmware."
msgstr ""
-"실험적 기능: 플러시를 최소화하기 위해 필라멘트 교체 중에 더 먼 거리에서 필라"
-"멘트를 집어넣고 절단합니다. 플러시를 크게 줄일 수 있지만 노즐 막힘이나 기타 "
-"출력 문제의 위험을 높일 수도 있습니다. 최신 프린터 펌웨어와 함께 사용하십시"
-"오."
+"실험적 기능: 플러시를 최소화하기 위해 필라멘트 교체 중에 더 먼 거리에서 필라멘"
+"트를 집어넣고 절단합니다. 플러시를 크게 줄일 수 있지만 노즐 막힘이나 기타 출"
+"력 문제의 위험을 높일 수도 있습니다. 최신 프린터 펌웨어와 함께 사용하십시오."
msgid ""
"When recording timelapse without toolhead, it is recommended to add a "
@@ -7629,8 +7624,8 @@ msgid ""
"A copy of the current system preset will be created, which will be detached "
"from the system preset."
msgstr ""
-"현재 시스템 프리셋의 복사본이 생성되며, 이 복사본은 시스템 프리셋에서 분리됩"
-"니다."
+"현재 시스템 프리셋의 복사본이 생성되며, 이 복사본은 시스템 프리셋에서 분리됩니"
+"다."
msgid ""
"The current custom preset will be detached from the parent system preset."
@@ -7659,7 +7654,7 @@ msgid "Current preset is inherited from the default preset."
msgstr "현재 프리셋은 기본 프리셋에서 상속됩니다."
msgid "Current preset is inherited from"
-msgstr "현재 프리셋은 다음에서 상속됩니다."
+msgstr "현재 프리셋은 다음에서 상속됩니다"
msgid "It can't be deleted or modified."
msgstr "삭제하거나 수정할 수 없습니다."
@@ -7850,8 +7845,8 @@ msgid ""
"Bed temperature when the Cool Plate Supertack is installed. A value of 0 "
"means the filament does not support printing on the Cool Plate SuperTack."
msgstr ""
-"냉각판 설치 시 베드 온도. 값 0은 필라멘트가 쿨 플레이트(슈퍼택)에 출력할 수 "
-"없음을 의미합니다."
+"냉각판 설치 시 베드 온도. 값 0은 필라멘트가 쿨 플레이트(슈퍼택)에 출력할 수 없"
+"음을 의미합니다."
msgid "Cool Plate"
msgstr "쿨 플레이트"
@@ -7861,7 +7856,7 @@ msgid ""
"filament does not support printing on the Cool Plate."
msgstr ""
"쿨 플레이트 설치 시 베드 온도. 값 0은 필라멘트가 쿨 플레이트에 출력하는 것을 "
-"지원하지 않음을 의미합니다"
+"지원하지 않음을 의미합니다."
msgid "Textured Cool Plate"
msgstr "텍스처 쿨 플레이트"
@@ -7871,7 +7866,7 @@ msgid ""
"means the filament does not support printing on the Textured Cool Plate."
msgstr ""
"쿨 플레이트가 설치되었을 때의 베드 온도입니다. 값 0은 필라멘트가 텍스처드 쿨 "
-"플레이트에서 출력를 지원하지 않음을 의미합니다"
+"플레이트에서 출력를 지원하지 않음을 의미합니다."
msgid "Engineering Plate"
msgstr "엔지니어링 플레이트"
@@ -7880,8 +7875,8 @@ msgid ""
"Bed temperature when the Engineering Plate is installed. A value of 0 means "
"the filament does not support printing on the Engineering Plate."
msgstr ""
-"엔지니어링 플레이트가 설치 시 베드 온도. 값 0은 필라멘트가 엔지니어링 플레이"
-"트에 출력하는 것을 지원하지 않음을 의미합니다"
+"엔지니어링 플레이트가 설치 시 베드 온도. 값 0은 필라멘트가 엔지니어링 플레이트"
+"에 출력하는 것을 지원하지 않음을 의미합니다"
msgid "Smooth PEI Plate / High Temp Plate"
msgstr "부드러운 PEI 플레이트 / 고온 플레이트"
@@ -7892,7 +7887,7 @@ msgid ""
"Smooth PEI Plate/High Temp Plate."
msgstr ""
"부드러운 PEI 플레이트/고온 플레이트 설치 시 베드 온도. 값 0은 필라멘트가 부드"
-"러운 PEI 플레이트/고온 플레이트 출력을 지원하지 않음을 의미합니다"
+"러운 PEI 플레이트/고온 플레이트 출력을 지원하지 않음을 의미합니다."
msgid "Textured PEI Plate"
msgstr "텍스처 PEI 플레이트"
@@ -7901,8 +7896,8 @@ msgid ""
"Bed temperature when the Textured PEI Plate is installed. A value of 0 means "
"the filament does not support printing on the Textured PEI Plate."
msgstr ""
-"텍스처 PEI 플레이트가 설치된 경우 베드 온도. 값 0은 필라멘트가 텍스처 PEI 플"
-"레이트에 출력하는 것을 지원하지 않음을 의미합니다"
+"텍스처 PEI 플레이트가 설치된 경우 베드 온도. 값 0은 필라멘트가 텍스처 PEI 플레"
+"이트에 출력하는 것을 지원하지 않음을 의미합니다."
msgid "Volumetric speed limitation"
msgstr "압출 속도 제한"
@@ -7925,9 +7920,9 @@ msgid ""
"shorter than threshold, fan speed is interpolated between the minimum and "
"maximum fan speed according to layer printing time"
msgstr ""
-"출력물 냉각 팬 속도는 예상 레이어 시간이 설정한 레이어 시간보다 짧으면 최소 "
-"속도로 작동됩니다. 레이어 시간이 임계값보다 짧은 경우 팬 속도는 레이어 출력 "
-"시간에 따라 최소 팬 속도와 최대 팬 속도 사이에 보간됩니다.(Interpolated)"
+"출력물 냉각 팬 속도는 예상 레이어 시간이 설정한 레이어 시간보다 짧으면 최소 속"
+"도로 작동됩니다. 레이어 시간이 임계값보다 짧은 경우 팬 속도는 레이어 출력 시간"
+"에 따라 최소 팬 속도와 최대 팬 속도 사이에 보간됩니다.(Interpolated)"
msgid "Max fan speed threshold"
msgstr "팬 최대 속도 임계값"
@@ -8010,7 +8005,7 @@ msgid "Machine end G-code"
msgstr "장치 종료 Gcode"
msgid "Printing by object G-code"
-msgstr "객체 G코드로 출력"
+msgstr "객체 Gcode로 출력"
msgid "Before layer change G-code"
msgstr "레이어 변경 전 Gcode"
@@ -8134,8 +8129,8 @@ msgid ""
"please reset the filament information for that slot."
msgstr ""
"선택한 사전 설정을 삭제하시겠습니까?\n"
-"프리셋이 현재 프린터에서 사용 중인 필라멘트와 일치하는 경우,해당 슬롯의 필라"
-"멘트 정보를 재설정해 주세요."
+"프리셋이 현재 프린터에서 사용 중인 필라멘트와 일치하는 경우,해당 슬롯의 필라멘"
+"트 정보를 재설정해 주세요."
#, boost-format
msgid "Are you sure to %1% the selected preset?"
@@ -8251,8 +8246,8 @@ msgid ""
"transfer the values you have modified to the new preset."
msgstr ""
"\n"
-"수정한 사전 설정 값을 저장하거나 삭제하거나, 수정한 값을 새 사전 설정으로 전"
-"송하도록 선택할 수 있습니다."
+"수정한 사전 설정 값을 저장하거나 삭제하거나, 수정한 값을 새 사전 설정으로 전송"
+"하도록 선택할 수 있습니다."
msgid "You have previously modified your settings."
msgstr "이전에 설정을 수정했습니다."
@@ -8288,8 +8283,8 @@ msgstr ""
msgid ""
"Transfer the selected options from left preset to the right.\n"
-"Note: New modified presets will be selected in settings tabs after close "
-"this dialog."
+"Note: New modified presets will be selected in settings tabs after close this "
+"dialog."
msgstr ""
"선택한 옵션을 왼쪽 프리셋에서 오른쪽으로 옮깁니다.\n"
"참고: 이 대화 상자를 닫은 후 설정 탭에서 새로 수정된 프리셋이 선택됩니다."
@@ -8298,11 +8293,11 @@ msgid "Transfer values from left to right"
msgstr "왼쪽에서 오른쪽으로 값 전송"
msgid ""
-"If enabled, this dialog can be used for transfer selected values from left "
-"to right preset."
+"If enabled, this dialog can be used for transfer selected values from left to "
+"right preset."
msgstr ""
-"이 대화 상자를 활성화하면 선택한 값을 왼쪽에서 오른쪽으로 사전 설정으로 변환"
-"하는 데 사용할 수 있습니다."
+"이 대화 상자를 활성화하면 선택한 값을 왼쪽에서 오른쪽으로 사전 설정으로 변환하"
+"는 데 사용할 수 있습니다."
msgid "Add File"
msgstr "파일 추가"
@@ -8462,7 +8457,7 @@ msgid "Total ramming time"
msgstr "총 채워넣기 시간"
msgid "s"
-msgstr "초"
+msgstr "s"
msgid "Total rammed volume"
msgstr "총 채워넣은 부피"
@@ -8526,15 +8521,15 @@ msgstr ""
"Player를 활성화하시겠습니까?"
msgid ""
-"BambuSource has not correctly been registered for media playing! Press Yes "
-"to re-register it. You will be promoted twice"
+"BambuSource has not correctly been registered for media playing! Press Yes to "
+"re-register it. You will be promoted twice"
msgstr ""
-"뱀부소스가 미디어 재생에 올바르게 등록되지 않았습니다! 다시 등록하려면 예를 "
-"누르세요. 두 번 승격됩니다"
+"뱀부소스가 미디어 재생에 올바르게 등록되지 않았습니다! 다시 등록하려면 예를 누"
+"르세요. 두 번 승격됩니다"
msgid ""
-"Missing BambuSource component registered for media playing! Please re-"
-"install BambuStudio or seek after-sales help."
+"Missing BambuSource component registered for media playing! Please re-install "
+"BambuStudio or seek after-sales help."
msgstr ""
"미디어 재생을 위해 등록된 뱀부소스 컴포넌트가 누락되었습니다! 뱀부스튜디오를 "
"다시 설치하거나 판매 후 도움을 받으세요."
@@ -8547,9 +8542,9 @@ msgstr ""
"습니다! 예를 눌러 문제를 해결하세요."
msgid ""
-"Your system is missing H.264 codecs for GStreamer, which are required to "
-"play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-"
-"libav packages, then restart Orca Slicer?)"
+"Your system is missing H.264 codecs for GStreamer, which are required to play "
+"video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav "
+"packages, then restart Orca Slicer?)"
msgstr ""
"시스템에 동영상 재생을 위해 필요한 GStreamer용 H.264 코덱이 존재하지 않습니"
"다. (gstreamer1.0-plugins-bad 또는 gstreamer1.0-libav 패키지를 설치한 다음 "
@@ -8619,13 +8614,12 @@ msgid "Shift+R"
msgstr "Shift+R"
msgid ""
-"Auto orients selected objects or all objects. If there are selected "
-"objects, it just orients the selected ones. Otherwise, it will orient "
-"all objects in the current project."
+"Auto orients selected objects or all objects. If there are selected objects, "
+"it just orients the selected ones. Otherwise, it will orient all objects in "
+"the current project."
msgstr ""
-"선택한 객체 또는 모든 객체의 방향을 자동으로 조정합니다. 선택한 "
-"객체가 있는 경우 선택한 객체만 조정되고, 그렇지 않은 경우 "
-"프로젝트의 모든 객체가 조정됩니다."
+"선택한 객체 또는 모든 객체의 방향을 자동으로 조정합니다. 선택한 객체가 있는 경"
+"우 선택한 객체만 조정되고, 그렇지 않은 경우 프로젝트의 모든 객체가 조정됩니다."
msgid "Auto orients all objects on the active plate."
msgstr "현재 플레이트에 있는 모든 객체의 방향을 자동으로 지정합니다."
@@ -8919,7 +8913,8 @@ msgstr "IP 및 액세스 코드를 사용하여 프린터 연결"
msgid ""
"Step 1. Please confirm Orca Slicer and your printer are in the same LAN."
-msgstr "1단계. 오르카 슬라이서와 프린터가 동일한 LAN에 있는지 확인하세요."
+msgstr ""
+"1단계. 오르카 슬라이서와 프린터가 동일한 LAN에 있는지 확인하세요."
msgid ""
"Step 2. If the IP and Access Code below are different from the actual values "
@@ -9011,11 +9006,11 @@ msgid "Update successful"
msgstr "업데이트 성공"
msgid ""
-"Are you sure you want to update? This will take about 10 minutes. Do not "
-"turn off the power while the printer is updating."
+"Are you sure you want to update? This will take about 10 minutes. Do not turn "
+"off the power while the printer is updating."
msgstr ""
-"업데이트하시겠습니까? 약 10분 정도 소요됩니다. 프린터가 업데이트되는 동안에"
-"는 전원을 끄지 마십시오."
+"업데이트하시겠습니까? 약 10분 정도 소요됩니다. 프린터가 업데이트되는 동안에는 "
+"전원을 끄지 마십시오."
msgid ""
"An important update was detected and needs to be run before printing can "
@@ -9023,17 +9018,17 @@ msgid ""
"firmware'."
msgstr ""
"중요한 업데이트가 감지되었으며 출력을 계속하려면 먼저 업데이트해야 합니다. 지"
-"금 업데이트하시겠습니까? '펌웨어 업그레이드'에서 나중에 업데이트할 수도 있습"
-"니다."
+"금 업데이트하시겠습니까? '펌웨어 업그레이드'에서 나중에 업데이트할 수도 있습니"
+"다."
msgid ""
"The firmware version is abnormal. Repairing and updating are required before "
"printing. Do you want to update now? You can also update later on printer or "
"update next time starting Orca."
msgstr ""
-"펌웨어 버전이 비정상입니다. 출력하기 전에 수리 및 업데이트가 필요합니다. 지"
-"금 업데이트하시겠습니까? 나중에 프린터에서 업데이트하거나 다음에 스튜디오를 "
-"시작할 때 업데이트할 수도 있습니다."
+"펌웨어 버전이 비정상입니다. 출력하기 전에 수리 및 업데이트가 필요합니다. 지금 "
+"업데이트하시겠습니까? 나중에 프린터에서 업데이트하거나 다음에 스튜디오를 시작"
+"할 때 업데이트할 수도 있습니다."
msgid "Extension Board"
msgstr "확장 보드"
@@ -9088,7 +9083,7 @@ msgstr "수리 취소됨"
#, boost-format
msgid "Copying of file %1% to %2% failed: %3%"
-msgstr "파일 %1%을(를) %2%(으)로 복사 실패: %3%"
+msgstr "파일 %1%를 %2%으로 복사 실패: %3%"
msgid "Need to check the unsaved changes before configuration updates."
msgstr "구성 업데이트 전에 저장되지 않은 변경 사항을 확인해야 합니다."
@@ -9106,8 +9101,8 @@ msgid ""
"One object has empty initial layer and can't be printed. Please Cut the "
"bottom or enable supports."
msgstr ""
-"객체 하나에 초기 레이어가 비어 있어 출력할 수 없습니다. 바닥을 자르거나 서포"
-"트를 활성화하세요."
+"객체 하나에 초기 레이어가 비어 있어 출력할 수 없습니다. 바닥을 자르거나 서포트"
+"를 활성화하세요."
#, boost-format
msgid "Object can't be printed for empty layer between %1% and %2%."
@@ -9136,11 +9131,11 @@ msgid ""
"Failed to generate G-code for invalid custom G-code.\n"
"\n"
msgstr ""
-"잘못된 사용자 정의 G코드로 인해 gcode를 생성하지 못했습니다.\n"
+"잘못된 사용자 정의 Gcode로 인해 gcode를 생성하지 못했습니다.\n"
"\n"
msgid "Please check the custom G-code or use the default custom G-code."
-msgstr "사용자 정의 G코드를 확인하거나 기본 사용자 정의 G코드를 사용하세요."
+msgstr "사용자 정의 Gcode를 확인하거나 기본 사용자 정의 Gcode를 사용하세요."
#, boost-format
msgid "Generating G-code: layer %1%"
@@ -9184,12 +9179,11 @@ msgstr "다수"
#, boost-format
msgid "Failed to calculate line width of %1%. Cannot get value of \"%2%\" "
-msgstr ""
-"%1%의 선 너비를 계산하지 못했습니다. \"%2%\"의 값을 가져올 수 없습니다 "
+msgstr "%1%의 선 너비를 계산하지 못했습니다. \"%2%\"의 값을 가져올 수 없습니다 "
msgid ""
-"Invalid spacing supplied to Flow::with_spacing(), check your layer height "
-"and extrusion width"
+"Invalid spacing supplied to Flow::with_spacing(), check your layer height and "
+"extrusion width"
msgstr ""
"Flow::with_spacing()에 잘못된 간격이 제공되었습니다. 레이어 높이와 돌출 너비"
"를 확인하세요"
@@ -9320,11 +9314,11 @@ msgstr ""
msgid ""
"Cannot print multiple filaments which have large difference of temperature "
-"together. Otherwise, the extruder and nozzle may be blocked or damaged "
-"during printing"
+"together. Otherwise, the extruder and nozzle may be blocked or damaged during "
+"printing"
msgstr ""
-"온도 차이가 큰 필라멘트를 여러 개 함께 출력할 수 없습니다. 그렇지 않으면 출"
-"력 중에 압출기와 노즐이 막히거나 손상될 수 있습니다"
+"온도 차이가 큰 필라멘트를 여러 개 함께 출력할 수 없습니다. 그렇지 않으면 출력 "
+"중에 압출기와 노즐이 막히거나 손상될 수 있습니다"
msgid "No extrusions under current settings."
msgstr "현재 설정에 압출기가 없습니다."
@@ -9339,8 +9333,7 @@ msgid ""
"Please select \"By object\" print sequence to print multiple objects in "
"spiral vase mode."
msgstr ""
-"나선형 꽃병 모드에서 여러 객체를 출력하려면 \"객체별\" 출력 순서를 선택하세"
-"요."
+"나선형 꽃병 모드에서 여러 객체를 출력하려면 \"객체별\" 출력 순서를 선택하세요."
msgid ""
"The spiral vase mode does not work when an object contains more than one "
@@ -9362,8 +9355,8 @@ msgstr "%1% 객체가 최대 빌드 부피 높이를 초과합니다."
#, boost-format
msgid ""
-"While the object %1% itself fits the build volume, its last layer exceeds "
-"the maximum build volume height."
+"While the object %1% itself fits the build volume, its last layer exceeds the "
+"maximum build volume height."
msgstr ""
"%1% 객체 자체가 빌드 부피에 맞지만 마지막 레이어가 최대 빌드 부피 높이를 초과"
"합니다."
@@ -9371,19 +9364,18 @@ msgstr ""
msgid ""
"You might want to reduce the size of your model or change current print "
"settings and retry."
-msgstr ""
-"모델 크기를 줄이거나 현재 출력 설정을 변경하고 다시 시도할 수 있습니다."
+msgstr "모델 크기를 줄이거나 현재 출력 설정을 변경하고 다시 시도할 수 있습니다."
msgid "Variable layer height is not supported with Organic supports."
msgstr "유기체 서포트에서는 가변 레이어 높이가 지원되지 않습니다."
msgid ""
-"Different nozzle diameters and different filament diameters may not work "
-"well when the prime tower is enabled. It's very experimental, so please "
-"proceed with caution."
+"Different nozzle diameters and different filament diameters may not work well "
+"when the prime tower is enabled. It's very experimental, so please proceed "
+"with caution."
msgstr ""
-"프라임 타워를 활성화하면 노즐 직경과 필라멘트 직경이 다르면 제대로 작동하지 "
-"않을 수 있습니다. 매우 실험적인 기능이므로 주의해서 사용하시기 바랍니다."
+"프라임 타워를 활성화하면 노즐 직경과 필라멘트 직경이 다르면 제대로 작동하지 않"
+"을 수 있습니다. 매우 실험적인 기능이므로 주의해서 사용하시기 바랍니다."
msgid ""
"The Wipe Tower is currently only supported with the relative extruder "
@@ -9413,8 +9405,8 @@ msgid ""
"The prime tower is not supported when adaptive layer height is on. It "
"requires that all objects have the same layer height."
msgstr ""
-"적응형 레이어 높이가 켜져 있으면 프라임 타워가 지원되지 않습니다. 모든 객체"
-"의 레이어 높이가 동일해야 합니다."
+"적응형 레이어 높이가 켜져 있으면 프라임 타워가 지원되지 않습니다. 모든 객체의 "
+"레이어 높이가 동일해야 합니다."
msgid "The prime tower requires \"support gap\" to be multiple of layer height"
msgstr "프라임 타워는 \"서포트 간격\"이 레이어 높이의 배수여야 합니다"
@@ -9423,8 +9415,8 @@ msgid "The prime tower requires that all objects have the same layer heights"
msgstr "프라임 타워는 모든 객체의 레이어 높이가 동일해야 합니다"
msgid ""
-"The prime tower requires that all objects are printed over the same number "
-"of raft layers"
+"The prime tower requires that all objects are printed over the same number of "
+"raft layers"
msgstr ""
"프라임 타워는 모든 객체가 동일한 수의 라프트 레이어 위에 출력되어야 합니다"
@@ -9432,8 +9424,8 @@ msgid ""
"The prime tower is only supported for multiple objects if they are printed "
"with the same support_top_z_distance"
msgstr ""
-"프라임 타워는 여러 오브젝트가 동일한 support_top_z_distance로 출력된 경우에"
-"만 지원됩니다."
+"프라임 타워는 여러 오브젝트가 동일한 support_top_z_distance로 출력된 경우에만 "
+"지원됩니다"
msgid ""
"The prime tower requires that all objects are sliced with the same layer "
@@ -9441,10 +9433,9 @@ msgid ""
msgstr "프라임 타워는 모든 객체가 동일한 레이어 높이로 슬라이스되어야 합니다."
msgid ""
-"The prime tower is only supported if all objects have the same variable "
-"layer height"
-msgstr ""
-"프라임 타워는 모든 객체의 가변 레이어 높이가 동일한 경우에만 지원됩니다"
+"The prime tower is only supported if all objects have the same variable layer "
+"height"
+msgstr "프라임 타워는 모든 객체의 가변 레이어 높이가 동일한 경우에만 지원됩니다"
msgid ""
"One or more object were assigned an extruder that the printer does not have."
@@ -9457,14 +9448,13 @@ msgid "Too large line width"
msgstr "선 너비가 너무 큽니다"
msgid ""
-"Printing with multiple extruders of differing nozzle diameters. If support "
-"is to be printed with the current filament (support_filament == 0 or "
-"support_interface_filament == 0), all nozzles have to be of the same "
-"diameter."
+"Printing with multiple extruders of differing nozzle diameters. If support is "
+"to be printed with the current filament (support_filament == 0 or "
+"support_interface_filament == 0), all nozzles have to be of the same diameter."
msgstr ""
-"노즐 직경이 다른 여러 개의 압출기로 출력. 현재 필라멘트를 사용하여 서포트를 "
-"출하려면(support_filament == 0 또는 support_interface_ilament == 0) 모든 노즐"
-"의 직경이 같아야 합니다."
+"노즐 직경이 다른 여러 개의 압출기로 출력. 현재 필라멘트를 사용하여 서포트를 출"
+"하려면(support_filament == 0 또는 support_interface_ilament == 0) 모든 노즐의 "
+"직경이 같아야 합니다."
msgid ""
"The prime tower requires that support has the same layer height with object."
@@ -9497,8 +9487,8 @@ msgid "Layer height cannot exceed nozzle diameter"
msgstr "레이어 높이는 노즐 직경을 초과할 수 없습니다"
msgid ""
-"Relative extruder addressing requires resetting the extruder position at "
-"each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to "
+"Relative extruder addressing requires resetting the extruder position at each "
+"layer to prevent loss of floating point accuracy. Add \"G92 E0\" to "
"layer_gcode."
msgstr ""
"상대 압출 모드에서는 부동 소수점 정확도를 위해 각 레이어에서 압출기 위치를 재"
@@ -9533,8 +9523,8 @@ msgid ""
"You can adjust the maximum jerk setting in your printer's configuration to "
"get higher speeds."
msgstr ""
-"저크 설정이 프린터의 최대 저크(machine_max_jerk_x/machine_max_jerk_y)를 초과"
-"합니다.\n"
+"저크 설정이 프린터의 최대 저크(machine_max_jerk_x/machine_max_jerk_y)를 초과합"
+"니다.\n"
"Orca는 저크 속도를 자동으로 제한하여 프린터 성능을 초과하지 않도록 합니다.\n"
"더 빠른 속도를 얻으려면 프린터 구성에서 최대 저크 설정을 조정할 수 있습니다."
@@ -9543,8 +9533,8 @@ msgid ""
"(machine_max_acceleration_extruding).\n"
"Orca will automatically cap the acceleration speed to ensure it doesn't "
"surpass the printer's capabilities.\n"
-"You can adjust the machine_max_acceleration_extruding value in your "
-"printer's configuration to get higher speeds."
+"You can adjust the machine_max_acceleration_extruding value in your printer's "
+"configuration to get higher speeds."
msgstr ""
"가속 설정이 프린터의 최대 가속(machine_max_acceleration_extruding)을 초과합니"
"다.\n"
@@ -9562,8 +9552,8 @@ msgid ""
msgstr ""
"이동 가속도 설정이 프린터의 최대 이동 가속도(machine_max_acceleration_travel)"
"를 초과합니다.\n"
-"Orca는 이동 가속 속도를 자동으로 제한하여 프린터의 성능을 초과하지 않도록 합"
-"니다.\n"
+"Orca는 이동 가속 속도를 자동으로 제한하여 프린터의 성능을 초과하지 않도록 합니"
+"다.\n"
"더 빠른 속도를 얻으려면 프린터 구성에서 machine_max_acceleration_travel 값을 "
"조정할 수 있습니다."
@@ -9571,8 +9561,8 @@ msgid ""
"Filament shrinkage will not be used because filament shrinkage for the used "
"filaments differs significantly."
msgstr ""
-"사용된 필라멘트의 필라멘트 수축이 크게 다르기 때문에 필라멘트 수축은 사용되"
-"지 않습니다."
+"사용된 필라멘트의 필라멘트 수축이 크게 다르기 때문에 필라멘트 수축은 사용되지 "
+"않습니다."
msgid "Generating skirt & brim"
msgstr "스커트 & 브림 생성 중"
@@ -9600,8 +9590,8 @@ msgid ""
"left corner to cut filament during filament change. The area is expressed as "
"polygon by points in following format: \"XxY, XxY, ...\""
msgstr ""
-"XY 평면에서 출력할 수 없는 영역입니다. 예를 들어, X1 시리즈 프린터는 필라멘"
-"트 교체 중에 필라멘트를 절단하기 위해 전면 왼쪽 모서리를 사용합니다. 영역은 "
+"XY 평면에서 출력할 수 없는 영역입니다. 예를 들어, X1 시리즈 프린터는 필라멘트 "
+"교체 중에 필라멘트를 절단하기 위해 전면 왼쪽 모서리를 사용합니다. 영역은 "
"\"XxY, XxY...\" 형식의 점으로 다각형으로 표시됩니다"
msgid "Bed custom texture"
@@ -9614,8 +9604,7 @@ msgid "Elephant foot compensation"
msgstr "코끼리 발 보정"
msgid ""
-"Shrink the initial layer on build plate to compensate for elephant foot "
-"effect"
+"Shrink the initial layer on build plate to compensate for elephant foot effect"
msgstr ""
"코끼리 발 효과를 보정하기 위해 빌드 플레이트에 닿는 첫 레이어를 축소합니다"
@@ -9674,10 +9663,10 @@ msgid ""
"username:password@your-octopi-address/"
msgstr ""
"Orca Slicer은 Gcode 파일을 프린터 호스트에 업로드할 수 있습니다. 이 필드에는 "
-"프린터 호스트 인스턴스의 호스트 이름, IP 주소 또는 URL이 포함되어야 합니다. "
-"기본 인증이 활성화된 HAProxy 뒤의 출력 호스트는 https://"
-"username:password@your-octopi-address/ 형식의 URL에 사용자 이름과 암호를 입력"
-"하여 액세스할 수 있습니다"
+"프린터 호스트 인스턴스의 호스트 이름, IP 주소 또는 URL이 포함되어야 합니다. 기"
+"본 인증이 활성화된 HAProxy 뒤의 출력 호스트는 https://username:password@your-"
+"octopi-address/ 형식의 URL에 사용자 이름과 암호를 입력하여 액세스할 수 있습니"
+"다"
msgid "Device UI"
msgstr "장치 UI"
@@ -9705,8 +9694,8 @@ msgstr "HTTPS CA 파일"
msgid ""
"Custom CA certificate file can be specified for HTTPS OctoPrint connections, "
-"in crt/pem format. If left blank, the default OS CA certificate repository "
-"is used."
+"in crt/pem format. If left blank, the default OS CA certificate repository is "
+"used."
msgstr ""
"사용자 정의 CA 인증서 파일은 crt/pem 형식의 HTTPS OctoPrint 연결에 대해 지정"
"할 수 있습니다. 비워 두면 기본 OS CA 인증서 저장소가 사용됩니다."
@@ -9745,7 +9734,8 @@ msgstr "벽 가로지름 방지"
msgid ""
"Detour to avoid traveling across walls, which may cause blobs on the surface."
-msgstr "벽을 가로질러 이동하지 않고 우회하여 표면에 방울 발생을 방지합니다"
+msgstr ""
+"벽을 가로질러 이동하지 않고 우회하여 표면에 방울 발생을 방지합니다"
msgid "Avoid crossing walls - Max detour length"
msgstr "벽 가로지름 방지 - 최대 우회 길이"
@@ -9756,9 +9746,9 @@ msgid ""
"either as an absolute value or as percentage (for example 50%) of a direct "
"travel path. Zero to disable."
msgstr ""
-"벽 가로지름 방지를 위한 최대 우회 거리. 우회 거리가 이 값보다 크면 우회하지 "
-"않습니다. 우회 길이는 절대값 또는 직접 이동 경로의 백분율(예: 50%)로 지정할 "
-"수 있습니다. 값 0으로 비활성화할 수 있습니다"
+"벽 가로지름 방지를 위한 최대 우회 거리. 우회 거리가 이 값보다 크면 우회하지 않"
+"습니다. 우회 길이는 절대값 또는 직접 이동 경로의 백분율(예: 50%)로 지정할 수 "
+"있습니다. 값 0으로 비활성화할 수 있습니다"
msgid "mm or %"
msgstr "mm 또는 %"
@@ -9770,8 +9760,8 @@ msgid ""
"Bed temperature for layers except the initial one. A value of 0 means the "
"filament does not support printing on the Cool Plate."
msgstr ""
-"초기 레이어를 제외한 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력"
-"을 지원하지 않음을 의미합니다"
+"초기 레이어를 제외한 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력을 "
+"지원하지 않음을 의미합니다."
msgid "°C"
msgstr "°C"
@@ -9781,28 +9771,28 @@ msgid ""
"filament does not support printing on the Textured Cool Plate."
msgstr ""
"초기 레이어를 제외한 레이어의 베드 온도입니다. 값 0은 필라멘트가 텍스처드 쿨 "
-"플레이트에서 출력를 지원하지 않음을 의미합니다"
+"플레이트에서 출력를 지원하지 않음을 의미합니다."
msgid ""
"Bed temperature for layers except the initial one. A value of 0 means the "
"filament does not support printing on the Engineering Plate."
msgstr ""
"초기 레이어를 제외한 레이어의 베드 온도. 값 0은 필라멘트가 엔지니어링 플레이"
-"트 출력을 지원하지 않음을 의미합니다"
+"트 출력을 지원하지 않음을 의미합니다."
msgid ""
"Bed temperature for layers except the initial one. A value of 0 means the "
"filament does not support printing on the High Temp Plate."
msgstr ""
"초기 레이어를 제외한 레이어의 베드 온도. 값 0은 필라멘트가 고온 플레이트 출력"
-"을 지원하지 않음을 의미합니다"
+"을 지원하지 않음을 의미합니다."
msgid ""
"Bed temperature for layers except the initial one. A value of 0 means the "
"filament does not support printing on the Textured PEI Plate."
msgstr ""
"초기 레이어를 제외한 레이어의 베드 온도. 값 0은 필라멘트가 텍스처 PEI 플레이"
-"트 출력을 지원하지 않음을 의미합니다"
+"트 출력을 지원하지 않음을 의미합니다."
msgid "Initial layer"
msgstr "초기 레이어"
@@ -9814,43 +9804,43 @@ msgid ""
"Bed temperature of the initial layer. A value of 0 means the filament does "
"not support printing on the Cool Plate SuperTack."
msgstr ""
-"초기 레이어의 베드 온도입니다. 값 0은 필라멘트가 쿨 플레이트(슈퍼택)에 출력"
-"할 수 없음을 의미합니다."
+"초기 레이어의 베드 온도입니다. 값 0은 필라멘트가 쿨 플레이트(슈퍼택)에 출력할 "
+"수 없음을 의미합니다."
msgid ""
"Bed temperature of the initial layer. A value of 0 means the filament does "
"not support printing on the Cool Plate."
msgstr ""
-"초기 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력을 지원하지 않음"
-"을 의미합니다"
+"초기 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력을 지원하지 않음을 "
+"의미합니다."
msgid ""
"Bed temperature of the initial layer. A value of 0 means the filament does "
"not support printing on the Textured Cool Plate."
msgstr ""
"초기 레이어의 베드 온도입니다. 값 0은 필라멘트가 텍스처드 쿨 플레이트에 출력"
-"할 수 없음을 의미합니다"
+"할 수 없음을 의미합니다."
msgid ""
"Bed temperature of the initial layer. A value of 0 means the filament does "
"not support printing on the Engineering Plate."
msgstr ""
-"초기 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력을 지원하지 않음"
-"을 의미합니다"
+"초기 레이어의 베드 온도. 값 0은 필라멘트가 쿨 플레이트 출력을 지원하지 않음을 "
+"의미합니다."
msgid ""
"Bed temperature of the initial layer. A value of 0 means the filament does "
"not support printing on the High Temp Plate."
msgstr ""
"초기 레이어의 베드 온도입니다. 값 0은 필라멘트가 고온 플레이트 출력을 지원하"
-"지 않음을 의미합니다"
+"지 않음을 의미합니다."
msgid ""
"Bed temperature of the initial layer. A value of 0 means the filament does "
"not support printing on the Textured PEI Plate."
msgstr ""
"초기 레이어의 베드 온도. 값 0은 필라멘트가 텍스처 PEI 플레이트 출력을 지원하"
-"지 않음을 의미합니다"
+"지 않음을 의미합니다."
msgid "Bed types supported by the printer"
msgstr "프린터가 지원하는 베드 유형"
@@ -9874,7 +9864,7 @@ msgid "Other layers filament sequence"
msgstr "다른 층 필라멘트 순서"
msgid "This G-code is inserted at every layer change before lifting z"
-msgstr "이 G코드는 Z좌표를 올리기 전 모든 레이어 변경에 삽입됩니다"
+msgstr "이 Gcode는 Z좌표를 올리기 전 모든 레이어 변경에 삽입됩니다"
msgid "Bottom shell layers"
msgstr "하단 쉘 레이어"
@@ -9906,16 +9896,15 @@ msgid "Apply gap fill"
msgstr "간격 채우기 적용"
msgid ""
-"Enables gap fill for the selected solid surfaces. The minimum gap length "
-"that will be filled can be controlled from the filter out tiny gaps option "
-"below.\n"
+"Enables gap fill for the selected solid surfaces. The minimum gap length that "
+"will be filled can be controlled from the filter out tiny gaps option below.\n"
"\n"
"Options:\n"
"1. Everywhere: Applies gap fill to top, bottom and internal solid surfaces "
"for maximum strength\n"
-"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces "
-"only, balancing print speed, reducing potential over extrusion in the solid "
-"infill and making sure the top and bottom surfaces have no pin hole gaps\n"
+"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces only, "
+"balancing print speed, reducing potential over extrusion in the solid infill "
+"and making sure the top and bottom surfaces have no pin hole gaps\n"
"3. Nowhere: Disables gap fill for all solid infill areas.\n"
"\n"
"Note that if using the classic perimeter generator, gap fill may also be "
@@ -9939,8 +9928,8 @@ msgstr ""
"1. 모든곳: 최대 강도를 위해 상단, 하단 및 내부 솔리드 표면에 갭 채우기를 적용"
"합니다\n"
"2. 상단 및 하단 표면: 상단 및 하단 표면에만 갭 채우기를 적용하여 프린트 속도 "
-"균형을 맞추고, 솔리드 인필의 돌출 가능성을 줄이며, 상단 및 하단 표면에 핀홀 "
-"틈이 없도록 합니다\n"
+"균형을 맞추고, 솔리드 인필의 돌출 가능성을 줄이며, 상단 및 하단 표면에 핀홀 틈"
+"이 없도록 합니다\n"
"3. 미사용: 모든 솔리드 인필 영역에 대해 갭 채우기를 사용하지않습니다.\n"
"\n"
"기존 경계 생성기를 사용하는 경우 경계 사이에 전체 너비 선이 맞지 않는 경우 경"
@@ -9950,10 +9939,10 @@ msgstr ""
"기존 경계선 생성기를 포함한 모든 간격 채우기를 제거하려면 필터에서 작은 간격 "
"값을 999999와 같이 큰 숫자로 설정하세요.\n"
"\n"
-"그러나 경계선 사이의 간격 채우기는 모델의 강도에 영향을 미치므로 권장되지 않"
-"습니다. 경계선 사이에 과도한 갭 채우기가 생성되는 모델의 경우 아라크네 벽 생"
-"성기로 전환하고 이 옵션을 사용하여 미려한 상단 및 하단 표면 갭 채우기 생성 여"
-"부를 제어하는 것이 더 나은 옵션이 될 수 있습니다"
+"그러나 경계선 사이의 간격 채우기는 모델의 강도에 영향을 미치므로 권장되지 않습"
+"니다. 경계선 사이에 과도한 갭 채우기가 생성되는 모델의 경우 아라크네 벽 생성기"
+"로 전환하고 이 옵션을 사용하여 미려한 상단 및 하단 표면 갭 채우기 생성 여부를 "
+"제어하는 것이 더 나은 옵션이 될 수 있습니다"
msgid "Everywhere"
msgstr "모든곳"
@@ -9973,9 +9962,9 @@ msgid ""
"speed specifically for these features can improve overall print quality and "
"reduce warping."
msgstr ""
-"이 옵션을 활성화하면 오버행, 내부 및 외부 브릿지에 대한 부품 냉각 팬 속도를 "
-"조정할 수 있습니다. 이러한 기능에 맞게 팬 속도를 설정하면 전반적인 출력 품질"
-"을 개선하고 뒤틀림을 줄일 수 있습니다."
+"이 옵션을 활성화하면 오버행, 내부 및 외부 브릿지에 대한 부품 냉각 팬 속도를 조"
+"정할 수 있습니다. 이러한 기능에 맞게 팬 속도를 설정하면 전반적인 출력 품질을 "
+"개선하고 뒤틀림을 줄일 수 있습니다."
msgid "Overhangs and external bridges fan speed"
msgstr "오버행 및 외부 브릿지 팬 속도"
@@ -9991,14 +9980,14 @@ msgid ""
"speed threshold set above. It is also adjusted upwards up to the maximum fan "
"speed threshold when the minimum layer time threshold is not met."
msgstr ""
-"오버행 임계값이 위의 '오버행 냉각 임계값' 파라미터에 설정된 값을 초과하는 브"
-"릿지 또는 오버행 벽을 출력할 때 이 부품 냉각 팬 속도를 사용합니다. 오버행 및 "
-"브릿지에 대한 냉각을 강화하면 이러한 기능의 전반적인 출력 품질이 향상될 수 있"
-"습니다.\n"
+"오버행 임계값이 위의 '오버행 냉각 임계값' 파라미터에 설정된 값을 초과하는 브릿"
+"지 또는 오버행 벽을 출력할 때 이 부품 냉각 팬 속도를 사용합니다. 오버행 및 브"
+"릿지에 대한 냉각을 강화하면 이러한 기능의 전반적인 출력 품질이 향상될 수 있습"
+"니다.\n"
"\n"
"이 팬 속도는 위에 설정된 최소 팬 속도 임계값에 의해 하단에 고정된다는 점에 유"
-"의하세요. 또한 최소 레이어 시간 임계값이 충족되지 않으면 최대 팬 속도 임계값"
-"까지 상향 조정됩니다."
+"의하세요. 또한 최소 레이어 시간 임계값이 충족되지 않으면 최대 팬 속도 임계값까"
+"지 상향 조정됩니다."
msgid "Overhang cooling activation threshold"
msgstr "오버행 냉각 활성화 임계값"
@@ -10011,10 +10000,10 @@ msgid ""
"by the layer beneath it. Setting this value to 0% forces the cooling fan to "
"run for all outer walls, regardless of the overhang degree."
msgstr ""
-"오버행이 지정된 임계값을 초과하면 아래에 설정된 '오버행 팬 속도'로 냉각 팬"
-"이 강제로 작동합니다. 이 임계값은 백분율로 표시되며, 각 선 너비에서 그 아래 "
-"레이어가 지원하지 않는 부분을 나타냅니다. 이 값을 0%로 설정하면 돌출 정도에 "
-"관계없이 모든 외벽에 대해 냉각 팬이 강제로 작동합니다."
+"오버행이 지정된 임계값을 초과하면 아래에 설정된 '오버행 팬 속도'로 냉각 팬이 "
+"강제로 작동합니다. 이 임계값은 백분율로 표시되며, 각 선 너비에서 그 아래 레이"
+"어가 지원하지 않는 부분을 나타냅니다. 이 값을 0%로 설정하면 돌출 정도에 관계없"
+"이 모든 외벽에 대해 냉각 팬이 강제로 작동합니다."
msgid "External bridge infill direction"
msgstr "외부 브릿지 채우기 방향"
@@ -10026,15 +10015,15 @@ msgid ""
"external bridges. Use 180°for zero angle."
msgstr ""
"브릿지 출력 각도 재정의. 0°으로 두면 브릿지 출력 각도가 자동으로 계산됩니다. "
-"그렇지 않으면 제공된 각도가 외부 브릿지 출력에 사용됩니다. 0도에는 180°를 사"
-"용합니다."
+"그렇지 않으면 제공된 각도가 외부 브릿지 출력에 사용됩니다. 0도에는 180°를 사용"
+"합니다."
msgid "Internal bridge infill direction"
msgstr "내부 브릿지 채우기 방향"
msgid ""
-"Internal bridging angle override. If left to zero, the bridging angle will "
-"be calculated automatically. Otherwise the provided angle will be used for "
+"Internal bridging angle override. If left to zero, the bridging angle will be "
+"calculated automatically. Otherwise the provided angle will be used for "
"internal bridges. Use 180°for zero angle.\n"
"\n"
"It is recommended to leave it at 0 unless there is a specific model need not "
@@ -10082,8 +10071,8 @@ msgstr ""
"다. 기본값은 100%입니다.\n"
"\n"
" 내부 브릿지의 밀도가 낮으면 돌출된 브릿지 주변에 공기가 순환할 수 있는 공간"
-"이 더 많아져 냉각 속도가 향상되므로 상단 표면 필링을 줄이고 내부 브릿지 안정"
-"성을 개선하는 데 도움이 됩니다.\n"
+"이 더 많아져 냉각 속도가 향상되므로 상단 표면 필링을 줄이고 내부 브릿지 안정성"
+"을 개선하는 데 도움이 됩니다.\n"
"\n"
"이 옵션은 특히 두 번째 내부 브릿지 오버 인필 옵션과 함께 사용하면 솔리드 인필"
"이 압출되기 전에 내부 브릿지 구조를 더욱 개선할 수 있습니다."
@@ -10101,8 +10090,8 @@ msgstr ""
"이 값을 약간 낮추면(예: 0.9) 브릿지의 재질 양을 줄여 처짐을 개선할 수 있습니"
"다.\n"
"\n"
-"실제 사용되는 브릿지 압출량은 이 값에 필라멘트 압출량 비율을 곱하여 계산되"
-"며, 설정된 경우 객체의 압출량 비율을 곱합니다."
+"실제 사용되는 브릿지 압출량은 이 값에 필라멘트 압출량 비율을 곱하여 계산되며, "
+"설정된 경우 객체의 압출량 비율을 곱합니다."
msgid "Internal bridge flow ratio"
msgstr "내부 브릿지 압출량 비율"
@@ -10113,8 +10102,8 @@ msgid ""
"0.9) to improve surface quality over sparse infill.\n"
"\n"
"The actual internal bridge flow used is calculated by multiplying this value "
-"with the bridge flow ratio, the filament flow ratio, and if set, the "
-"object's flow ratio."
+"with the bridge flow ratio, the filament flow ratio, and if set, the object's "
+"flow ratio."
msgstr ""
"이 값은 내부 브릿지 레이어의 두께를 결정합니다. 이 레이어는 스파스 인필 위에 "
"있는 첫 번째 레이어입니다. 이 값을 약간 낮추면(예: 0.9) 스파스 인필에 대한 표"
@@ -10130,8 +10119,8 @@ msgid ""
"This factor affects the amount of material for top solid infill. You can "
"decrease it slightly to have smooth surface finish.\n"
"\n"
-"The actual top surface flow used is calculated by multiplying this value "
-"with the filament flow ratio, and if set, the object's flow ratio."
+"The actual top surface flow used is calculated by multiplying this value with "
+"the filament flow ratio, and if set, the object's flow ratio."
msgstr ""
"이 요소는 상단 솔리드 인필의 재료 양에 영향을 줍니다. 표면 마감을 매끄럽게 하"
"려면 이 값을 약간 낮출 수 있습니다.\n"
@@ -10150,8 +10139,8 @@ msgid ""
msgstr ""
"이 요소는 바닥 솔리드 인필의 재료 양에 영향을 줍니다.\n"
"\n"
-"사용되는 실제 바닥 솔리드 인필 압출량은 이 값에 필라멘트 압출량 비율을 곱하"
-"여 계산되며, 설정된 경우 객체의 압출량 비율을 곱합니다."
+"사용되는 실제 바닥 솔리드 인필 압출량은 이 값에 필라멘트 압출량 비율을 곱하여 "
+"계산되며, 설정된 경우 객체의 압출량 비율을 곱합니다."
msgid "Precise wall"
msgstr "정밀한 벽"
@@ -10170,8 +10159,8 @@ msgid ""
"Use only one wall on flat top surface, to give more space to the top infill "
"pattern"
msgstr ""
-"평평한 상단 표면에 하나의 벽만 사용하여 상단 표면 패턴에 더 많은 공간을 제공"
-"합니다"
+"평평한 상단 표면에 하나의 벽만 사용하여 상단 표면 패턴에 더 많은 공간을 제공합"
+"니다"
msgid "One wall threshold"
msgstr "단일 벽 임계값"
@@ -10189,8 +10178,8 @@ msgid ""
msgstr ""
"상단 표면을 출력해야 하고 부분적으로 다른 레이어로 덮여 있는 경우 너비가 이 "
"값 미만인 상단 레이어에서는 고려되지 않습니다. 이는 둘레로만 덮여야 하는 표면"
-"에서 '상단 둘레 하나'가 발동되지 않도록 하는 데 유용할 수 있습니다. 이 값은 "
-"압출 너비의 mm 또는 %로 설정됩니다.\n"
+"에서 '상단 둘레 하나'가 발동되지 않도록 하는 데 유용할 수 있습니다. 이 값은 압"
+"출 너비의 mm 또는 %로 설정됩니다.\n"
"경고: 활성화된 경우, 의도치 않은 형상이 생성되는건 다음 레이어에 문자와 같은 "
"일부 얇은 형상이 있기 때문입니다. 이러한 형상을 제거하려면 이 값을 0으로 설정"
"하세요."
@@ -10220,9 +10209,9 @@ msgid "Overhang reversal"
msgstr "오버행 반전"
msgid ""
-"Extrude perimeters that have a part over an overhang in the reverse "
-"direction on even layers. This alternating pattern can drastically improve "
-"steep overhangs.\n"
+"Extrude perimeters that have a part over an overhang in the reverse direction "
+"on even layers. This alternating pattern can drastically improve steep "
+"overhangs.\n"
"\n"
"This setting can also help reduce part warping due to the reduction of "
"stresses in the part walls."
@@ -10230,8 +10219,8 @@ msgstr ""
"짝수 레이어에서 반대 방향으로 오버행 위에 부분이 있는 둘레를 돌출시킵니다. 이"
"러한 교대 패턴은 가파른 오버행을 대폭 개선할 수 있습니다.\n"
"\n"
-"이 설정은 부품 벽의 응력 감소로 인한 부품 뒤틀림을 줄이는 데도 도움이 될 수 "
-"있습니다."
+"이 설정은 부품 벽의 응력 감소로 인한 부품 뒤틀림을 줄이는 데도 도움이 될 수 있"
+"습니다."
msgid "Reverse only internal perimeters"
msgstr "내부 둘레만 반전"
@@ -10243,8 +10232,7 @@ msgid ""
"alternating directions. This should reduce part warping while also "
"maintaining external wall quality. This feature can be very useful for warp "
"prone material, like ABS/ASA, and also for elastic filaments, like TPU and "
-"Silk PLA. It can also help reduce warping on floating regions over "
-"supports.\n"
+"Silk PLA. It can also help reduce warping on floating regions over supports.\n"
"\n"
"For this setting to be the most effective, it is recommended to set the "
"Reverse Threshold to 0 so that all internal walls print in alternating "
@@ -10254,9 +10242,9 @@ msgstr ""
"\n"
"이 설정을 사용하면 부품 응력이 이제 교대로 분산되므로 부품 응력이 크게 줄어듭"
"니다. 이렇게 하면 부품 뒤틀림이 줄어들면서 외부 벽 품질도 유지됩니다. 이 기능"
-"은 ABS/ASA와 같이 뒤틀리기 쉬운 소재와 TPU 및 Silk PLA와 같은 탄성 필라멘트"
-"에 매우 유용할 수 있습니다. 또한 서포트 위에 떠 있는 영역의 뒤틀림을 줄이는 "
-"데 도움이 될 수 있습니다.\n"
+"은 ABS/ASA와 같이 뒤틀리기 쉬운 소재와 TPU 및 Silk PLA와 같은 탄성 필라멘트에 "
+"매우 유용할 수 있습니다. 또한 서포트 위에 떠 있는 영역의 뒤틀림을 줄이는 데 도"
+"움이 될 수 있습니다.\n"
"\n"
"이 설정이 가장 효과적이려면 모든 내부 벽이 돌출 정도에 관계없이 균일한 레이어"
"에서 교대로 출력되도록 역방향 임계값을 0으로 설정하는 것이 좋습니다."
@@ -10294,14 +10282,14 @@ msgid ""
"Number of mm the overhang need to be for the reversal to be considered "
"useful. Can be a % of the perimeter width.\n"
"Value 0 enables reversal on every even layers regardless.\n"
-"When Detect overhang wall is not enabled, this option is ignored and "
-"reversal happens on every even layers regardless."
+"When Detect overhang wall is not enabled, this option is ignored and reversal "
+"happens on every even layers regardless."
msgstr ""
"반전이 유용한 것으로 간주되려면 오버행이 몇 mm가 되어야 합니다. 둘레 폭을 % o"
"으로 설정할 수 있습니다.\n"
"값이 0이면 모든 짝수 레이어에 관계없이 반전이 활성화됩니다.\n"
-"돌출 벽 감지가 활성화되지 않은 경우 이 옵션은 무시되고 모든 짝수 레이어에서 "
-"반전이 수행됩니다."
+"돌출 벽 감지가 활성화되지 않은 경우 이 옵션은 무시되고 모든 짝수 레이어에서 반"
+"전이 수행됩니다."
msgid "Classic mode"
msgstr "클래식 모드"
@@ -10321,16 +10309,16 @@ msgstr "구부러진 둘레에서 감속"
#, no-c-format, no-boost-format
msgid ""
"Enable this option to slow down printing in areas where perimeters may have "
-"curled upwards.For example, additional slowdown will be applied when "
-"printing overhangs on sharp corners like the front of the Benchy hull, "
-"reducing curling which compounds over multiple layers.\n"
+"curled upwards.For example, additional slowdown will be applied when printing "
+"overhangs on sharp corners like the front of the Benchy hull, reducing "
+"curling which compounds over multiple layers.\n"
"\n"
" It is generally recommended to have this option switched on unless your "
"printer cooling is powerful enough or the print speed slow enough that "
-"perimeter curling does not happen. If printing with a high external "
-"perimeter speed, this parameter may introduce slight artifacts when slowing "
-"down due to the large variance in print speeds. If you notice artifacts, "
-"ensure your pressure advance is tuned correctly.\n"
+"perimeter curling does not happen. If printing with a high external perimeter "
+"speed, this parameter may introduce slight artifacts when slowing down due to "
+"the large variance in print speeds. If you notice artifacts, ensure your "
+"pressure advance is tuned correctly.\n"
"\n"
"Note: When this option is enabled, overhang perimeters are treated like "
"overhangs, meaning the overhang speed is applied even if the overhanging "
@@ -10342,11 +10330,11 @@ msgstr ""
"니다. 예를 들어 벤치 선체 전면과 같이 날카로운 모서리에 오버행를 출력할 때 추"
"가 속도 저하가 적용되어 여러 레이어에 걸쳐 합성되는 말림을 줄입니다.\n"
"\n"
-" 프린터 냉각 성능이 충분히 강력하거나 출력 속도가 느려 주변 말림이 발생하지 "
-"않는 한 일반적으로 이 옵션을 켜는 것이 좋습니다. 높은 외부 주변 속도로 출력하"
-"는 경우 이 매개변수는 출력 속도의 큰 차이로 인해 속도가 느려질 때 약간의 아티"
-"팩트가 발생할 수 있습니다. 아티팩트가 발견되면 압력 진행이 올바르게 조정되었"
-"는지 확인하십시오.\n"
+" 프린터 냉각 성능이 충분히 강력하거나 출력 속도가 느려 주변 말림이 발생하지 않"
+"는 한 일반적으로 이 옵션을 켜는 것이 좋습니다. 높은 외부 주변 속도로 출력하는 "
+"경우 이 매개변수는 출력 속도의 큰 차이로 인해 속도가 느려질 때 약간의 아티팩트"
+"가 발생할 수 있습니다. 아티팩트가 발견되면 압력 진행이 올바르게 조정되었는지 "
+"확인하십시오.\n"
"\n"
"참고: 이 옵션을 활성화하면 오버행 둘레가 오버행처럼 처리됩니다. 즉, 오버행 둘"
"레가 교량의 일부인 경우에도 오버행 속도가 적용됩니다. 예를 들어, 둘레가 100% "
@@ -10369,15 +10357,15 @@ msgstr ""
"외부에서 볼 수 있는 브릿지 돌출 속도입니다.\n"
"\n"
"또한, 구부러진 둘레에 대한 속도 저하가 비활성화되거나 클래식 오버행 모드가 활"
-"성화된 경우 브릿지의 일부이든 오버행이든 상관없이 오버행 벽의 출력 속도는 "
-"13% 미만으로 지원됩니다."
+"성화된 경우 브릿지의 일부이든 오버행이든 상관없이 오버행 벽의 출력 속도는 13% "
+"미만으로 지원됩니다."
msgid "Internal"
msgstr "내부"
msgid ""
-"Speed of internal bridges. If the value is expressed as a percentage, it "
-"will be calculated based on the bridge_speed. Default value is 150%."
+"Speed of internal bridges. If the value is expressed as a percentage, it will "
+"be calculated based on the bridge_speed. Default value is 150%."
msgstr ""
"내부 브릿지의 속도. 값을 백분율로 표현하면 bridge_speed를 기준으로 계산됩니"
"다. 기본값은 150%입니다."
@@ -10408,8 +10396,8 @@ msgid ""
"A gap between innermost brim line and object can make brim be removed more "
"easily"
msgstr ""
-"가장 안쪽 브림 라인과 객체 사이에 간격을 주어 쉽게 브림을 제거 할 수 있게 합"
-"니다"
+"가장 안쪽 브림 라인과 객체 사이에 간격을 주어 쉽게 브림을 제거 할 수 있게 합니"
+"다"
msgid "Brim ears"
msgstr "브림 귀"
@@ -10469,8 +10457,8 @@ msgid ""
"profile. If this expression evaluates to true, this profile is considered "
"compatible with the active print profile."
msgstr ""
-"활성 출력 프로필의 구성 값을 사용하는 불리언 표현식입니다. 이 표현식이 true"
-"로 평가되면 이 프로필은 활성 출력 프로필과 호환되는 것으로 간주됩니다."
+"활성 출력 프로필의 구성 값을 사용하는 불리언 표현식입니다. 이 표현식이 true로 "
+"평가되면 이 프로필은 활성 출력 프로필과 호환되는 것으로 간주됩니다."
msgid "Print sequence, layer by layer or object by object"
msgstr "출력순서, 레이어별 또는 객체별"
@@ -10499,9 +10487,9 @@ msgid ""
"that layer can be cooled for longer time. This can improve the cooling "
"quality for needle and small details"
msgstr ""
-"이 옵션을 활성화하여 최종 레이어 시간이 \"최대 팬 속도 임계값\" 의 \"레이어 "
-"시간\" 임계값보다 짧지 않도록 출력 속도를 낮추어 레이어를 더 오랫동안 냉각할 "
-"수 있습니다. 바늘 모양이나 작은 출력물의 냉각 품질을 향상 시킬 수 있습니다"
+"이 옵션을 활성화하여 최종 레이어 시간이 \"최대 팬 속도 임계값\" 의 \"레이어 시"
+"간\" 임계값보다 짧지 않도록 출력 속도를 낮추어 레이어를 더 오랫동안 냉각할 수 "
+"있습니다. 바늘 모양이나 작은 출력물의 냉각 품질을 향상 시킬 수 있습니다"
msgid "Normal printing"
msgstr "일반 출력"
@@ -10536,8 +10524,7 @@ msgid ""
"Speed of exhaust fan during printing. This speed will override the speed in "
"filament custom G-code."
msgstr ""
-"출력 중 배기 팬 속도. 이 속도는 필라멘트 사용자 정의 G코드의 속도를 덮어씁니"
-"다"
+"출력 중 배기 팬 속도. 이 속도는 필라멘트 사용자 정의 Gcode의 속도를 덮어씁니다"
msgid "Speed of exhaust fan after printing completes"
msgstr "출력 완료 후 배기 팬 속도"
@@ -10560,7 +10547,7 @@ msgid ""
"can usually be printed directly without support if not very long."
msgstr ""
"서포트를 크게 만드는 전체 브릿지 영역에 서포트를 사용하지 않습니다. 브릿지는 "
-"일반적으로 매우 길지 않은 경우 서포트 없이 직접 출력할 수 있습니다"
+"일반적으로 매우 길지 않은 경우 서포트 없이 직접 출력할 수 있습니다."
msgid "Thick external bridges"
msgstr "두꺼운 외부 브릿지"
@@ -10582,43 +10569,41 @@ msgid ""
"have this feature turned on. However, consider turning it off if you are "
"using large nozzles."
msgstr ""
-"활성화되면 두꺼운 내부 브릿지가 사용됩니다. 일반적으로 다음을 권장합니다.이 "
-"기능을 켜두세요. 하지만 다음과 같은 경우에는 끄는 것을 고려해 보세요.큰 노즐"
-"을 사용합니다."
+"활성화되면 두꺼운 내부 브릿지가 사용됩니다. 일반적으로 다음을 권장합니다.이 기"
+"능을 켜두세요. 하지만 다음과 같은 경우에는 끄는 것을 고려해 보세요.큰 노즐을 "
+"사용합니다."
msgid "Extra bridge layers (beta)"
msgstr "추가 브릿지 레이어(베타)"
msgid ""
-"This option enables the generation of an extra bridge layer over internal "
-"and/or external bridges.\n"
+"This option enables the generation of an extra bridge layer over internal and/"
+"or external bridges.\n"
"\n"
"Extra bridge layers help improve bridge appearance and reliability, as the "
-"solid infill is better supported. This is especially useful in fast "
-"printers, where the bridge and solid infill speeds vary greatly. The extra "
-"bridge layer results in reduced pillowing on top surfaces, as well as "
-"reduced separation of the external bridge layer from its surrounding "
-"perimeters.\n"
+"solid infill is better supported. This is especially useful in fast printers, "
+"where the bridge and solid infill speeds vary greatly. The extra bridge layer "
+"results in reduced pillowing on top surfaces, as well as reduced separation "
+"of the external bridge layer from its surrounding perimeters.\n"
"\n"
"It is generally recommended to set this to at least 'External bridge only', "
"unless specific issues with the sliced model are found.\n"
"\n"
"Options:\n"
-"1. Disabled - does not generate second bridge layers. This is the default "
-"and is set for compatibility purposes.\n"
+"1. Disabled - does not generate second bridge layers. This is the default and "
+"is set for compatibility purposes.\n"
"2. External bridge only - generates second bridge layers for external-facing "
"bridges only. Please note that small bridges that are shorter or narrower "
"than the set number of perimeters will be skipped as they would not benefit "
"from a second bridge layer. If generated, the second bridge layer will be "
"extruded parallel to the first bridge layer to reinforce the bridge "
"strength.\n"
-"3. Internal bridge only - generates second bridge layers for internal "
-"bridges over sparse infill only. Please note that the internal bridges count "
-"towards the top shell layer count of your model. The second internal bridge "
-"layer will be extruded as close to perpendicular to the first as possible. "
-"If multiple regions in the same island, with varying bridge angles are "
-"present, the last region of that island will be selected as the angle "
-"reference.\n"
+"3. Internal bridge only - generates second bridge layers for internal bridges "
+"over sparse infill only. Please note that the internal bridges count towards "
+"the top shell layer count of your model. The second internal bridge layer "
+"will be extruded as close to perpendicular to the first as possible. If "
+"multiple regions in the same island, with varying bridge angles are present, "
+"the last region of that island will be selected as the angle reference.\n"
"4. Apply to all - generates second bridge layers for both internal and "
"external-facing bridges\n"
msgstr ""
@@ -10630,8 +10615,8 @@ msgstr ""
"고속 프린터에서 특히 유용합니다. 브릿지 레이어가 추가되면 상단 표면의 필로우"
"가 줄어들고 외부 브릿지 레이어가 주변 경계와 분리되는 현상이 줄어듭니다.\n"
"\n"
-"일반적으로 슬라이스 모델에 특별한 문제가 발견되지 않는 한 최소한 '외부 브릿"
-"지 전용'으로 설정하는 것이 좋습니다.\n"
+"일반적으로 슬라이스 모델에 특별한 문제가 발견되지 않는 한 최소한 '외부 브릿지 "
+"전용'으로 설정하는 것이 좋습니다.\n"
"\n"
"옵션\n"
"1. 비활성화 - 두 번째 브릿지 레이어를 생성하지 않습니다. 기본값이며 호환성을 "
@@ -10642,11 +10627,11 @@ msgstr ""
"지 레이어와 평행하게 돌출되어 브릿지 강도를 강화합니다.\n"
"3. 내부 브릿지 전용 - 스파스 인필 위에 있는 내부 브릿지에 대해서만 두 번째 브"
"릿지 레이어를 생성합니다. 내부 브릿지는 모델의 최상위 셸 레이어 수에 포함된다"
-"는 점에 유의하세요. 두 번째 내부 브릿지 레이어는 가능한 한 첫 번째 브릿지 레"
-"이어에 수직에 가깝게 돌출됩니다. 동일한 섬에 다양한 다리 각도를 가진 여러 영"
-"역이 있는 경우 해당 섬의 마지막 영역이 각도 참조로 선택됩니다.\n"
-"4. 모두 적용 - 내부 및 외부를 향한 브릿지 모두에 대한 두 번째 브릿지 레이어"
-"를 생성합니다.\n"
+"는 점에 유의하세요. 두 번째 내부 브릿지 레이어는 가능한 한 첫 번째 브릿지 레이"
+"어에 수직에 가깝게 돌출됩니다. 동일한 섬에 다양한 다리 각도를 가진 여러 영역"
+"이 있는 경우 해당 섬의 마지막 영역이 각도 참조로 선택됩니다.\n"
+"4. 모두 적용 - 내부 및 외부를 향한 브릿지 모두에 대한 두 번째 브릿지 레이어를 "
+"생성합니다.\n"
msgid "Disabled"
msgstr "비활성"
@@ -10692,29 +10677,28 @@ msgid ""
"overhang. This option is useful for heavily slanted top surface models; "
"however, in most cases, it creates too many unnecessary bridges."
msgstr ""
-"이 옵션을 사용하면 심하게 기울어지거나 구부러진 모델에서 상단 표면의 필링을 "
-"줄일 수 있습니다.\n"
+"이 옵션을 사용하면 심하게 기울어지거나 구부러진 모델에서 상단 표면의 필링을 줄"
+"일 수 있습니다.\n"
"\n"
"기본적으로 작은 내부 브릿지는 필터링되고 내부 솔리드 인필은 스파스 인필 위에 "
-"직접 출력됩니다. 이 방법은 대부분의 경우 잘 작동하여 표면 품질을 크게 저하시"
-"키지 않으면서 출력 속도를 높일 수 있습니다.\n"
+"직접 출력됩니다. 이 방법은 대부분의 경우 잘 작동하여 표면 품질을 크게 저하시키"
+"지 않으면서 출력 속도를 높일 수 있습니다.\n"
"\n"
"그러나 경사가 심하거나 곡선형 모델, 특히 너무 낮은 스파스 인필 밀도를 사용하"
"는 경우 지원되지 않는 솔리드 인필이 말려서 필로우가 발생할 수 있습니다.\n"
"\n"
-"필터링을 제한하거나 필터링을 사용하지 않도록 설정하면 약간 지원되지 않는 내"
-"부 솔리드 인필 위에 내부 브릿지 레이어가 출력됩니다. 아래 옵션은 필터링의 민"
-"감도, 즉 내부 브릿지가 생성되는 위치를 제어합니다.\n"
+"필터링을 제한하거나 필터링을 사용하지 않도록 설정하면 약간 지원되지 않는 내부 "
+"솔리드 인필 위에 내부 브릿지 레이어가 출력됩니다. 아래 옵션은 필터링의 민감"
+"도, 즉 내부 브릿지가 생성되는 위치를 제어합니다.\n"
"\n"
-"1. 필터 - 이 옵션을 활성화합니다. 기본 동작이며 대부분의 경우 잘 작동합니"
-"다.\n"
+"1. 필터 - 이 옵션을 활성화합니다. 기본 동작이며 대부분의 경우 잘 작동합니다.\n"
"\n"
-"2. 제한된 필터링 - 불필요한 브릿지를 피하면서 심하게 기울어진 표면에 내부 브"
-"릿지를 만듭니다. 이 옵션은 대부분의 어려운 모델에 적합합니다.\n"
+"2. 제한된 필터링 - 불필요한 브릿지를 피하면서 심하게 기울어진 표면에 내부 브릿"
+"지를 만듭니다. 이 옵션은 대부분의 어려운 모델에 적합합니다.\n"
"\n"
-"3. 필터링 없음 - 모든 잠재적인 내부 오버행에 내부 브릿지를 생성합니다. 이 옵"
-"션은 경사가 심한 윗면 모델에 유용하지만, 대부분의 경우 불필요한 브릿지가 너"
-"무 많이 생성됩니다."
+"3. 필터링 없음 - 모든 잠재적인 내부 오버행에 내부 브릿지를 생성합니다. 이 옵션"
+"은 경사가 심한 윗면 모델에 유용하지만, 대부분의 경우 불필요한 브릿지가 너무 많"
+"이 생성됩니다."
msgid "Filter"
msgstr "필터"
@@ -10733,14 +10717,14 @@ msgid ""
"bridges to be supported, and set it to a very large value if you don't want "
"any bridges to be supported."
msgstr ""
-"서포트가 필요하지 않은 브릿지의 최대 길이. 모든 브릿지에 서포트를 생성하려면 "
-"0으로 설정하고 브릿지에 서포트를 생성하지 않으려면 매우 큰 값으로 설정합니다."
+"서포트가 필요하지 않은 브릿지의 최대 길이. 모든 브릿지에 서포트를 생성하려면 0"
+"으로 설정하고 브릿지에 서포트를 생성하지 않으려면 매우 큰 값으로 설정합니다."
msgid "End G-code"
msgstr "종료 Gcode"
msgid "End G-code when finishing the entire print."
-msgstr "전체 출력이 끝날때의 종료 Gcode"
+msgstr "출력이 종료될 때의 Gcode"
msgid "Between Object G-code"
msgstr "객체 사이의 Gcode"
@@ -10749,8 +10733,8 @@ msgid ""
"Insert G-code between objects. This parameter will only come into effect when "
"you print your models object by object."
msgstr ""
-"객체 사이에 G코드를 삽입하세요. 이 매개변수는 객체별 출력을 사용할 때만 적용"
-"됩니다"
+"객체 사이에 Gcode를 삽입하세요. 이 매개변수는 객체별 출력을 사용할 때만 적용됩"
+"니다"
msgid "End G-code when finishing the printing of this filament."
msgstr "이 필라멘트의 출력이 끝날때의 종료 Gcode"
@@ -10768,8 +10752,8 @@ msgid ""
"All: Add solid infill for all suitable sloping surfaces\n"
"Default value is All."
msgstr ""
-"경사면 근처에 견고한 충전재를 추가하여 수직 쉘 두께(상단 + 하단 솔리드 레이"
-"어)를 보장합니다.\n"
+"경사면 근처에 견고한 충전재를 추가하여 수직 쉘 두께(상단 + 하단 솔리드 레이어)"
+"를 보장합니다.\n"
"없음: 솔리드 채우기가 어디에도 추가되지 않습니다. 주의: 모델에 경사면이 있는 "
"경우 이 옵션을 주의해서 사용하십시오.\n"
"중요한 것만: 벽에 견고한 채우기를 추가하지 마십시오.\n"
@@ -10826,8 +10810,8 @@ msgid ""
"Line pattern of internal solid infill. if the detect narrow internal solid "
"infill be enabled, the concentric pattern will be used for the small area."
msgstr ""
-"꽉찬 내부 채우기의 선 패턴. 좁은 꽉찬 내부 채우기 감지가 활성화된 경우 작은 "
-"영역에 동심원 패턴이 사용됩니다."
+"꽉찬 내부 채우기의 선 패턴. 좁은 꽉찬 내부 채우기 감지가 활성화된 경우 작은 영"
+"역에 동심원 패턴이 사용됩니다."
msgid ""
"Line width of outer wall. If expressed as a %, it will be computed over the "
@@ -10838,8 +10822,8 @@ msgid ""
"Speed of outer wall which is outermost and visible. It's used to be slower "
"than inner wall speed to get better quality."
msgstr ""
-"가장 바깥쪽의 눈에 보이는 외벽의 속도. 더 나은 품질을 얻기 위해 내벽 속도보"
-"다 느리게 사용됩니다."
+"가장 바깥쪽의 눈에 보이는 외벽의 속도. 더 나은 품질을 얻기 위해 내벽 속도보다 "
+"느리게 사용됩니다."
msgid "Small perimeters"
msgstr "작은 둘레"
@@ -10850,8 +10834,8 @@ msgid ""
"example: 80%) it will be calculated on the outer wall speed setting above. "
"Set to zero for auto."
msgstr ""
-"이 별도의 설정은 반지름이 가진 둘레의 속도에 영향을 줍니다 <= 작은 둘레 임계"
-"값(small_perimeter_threshold) 이하인 둘레(일반적으로 구멍). 백분율로 설정하면"
+"이 별도의 설정은 반지름이 가진 둘레의 속도에 영향을 줍니다 <= 작은 둘레 임계값"
+"(small_perimeter_threshold) 이하인 둘레(일반적으로 구멍). 백분율로 설정하면"
"(예: 80%) 외벽 속도 설정에서 계산됩니다. 자동의 경우 0으로 설정합니다."
msgid "Small perimeters threshold"
@@ -10867,8 +10851,8 @@ msgstr "벽 출력 순서"
msgid ""
"Print sequence of the internal (inner) and external (outer) walls.\n"
"\n"
-"Use Inner/Outer for best overhangs. This is because the overhanging walls "
-"can adhere to a neighbouring perimeter while printing. However, this option "
+"Use Inner/Outer for best overhangs. This is because the overhanging walls can "
+"adhere to a neighbouring perimeter while printing. However, this option "
"results in slightly reduced surface quality as the external perimeter is "
"deformed by being squashed to the internal perimeter.\n"
"\n"
@@ -10878,8 +10862,8 @@ msgid ""
"perimeter to print the external wall against. This option requires a minimum "
"of 3 walls to be effective as it prints the internal walls from the 3rd "
"perimeter onwards first, then the external perimeter and, finally, the first "
-"internal perimeter. This option is recommended against the Outer/Inner "
-"option in most cases.\n"
+"internal perimeter. This option is recommended against the Outer/Inner option "
+"in most cases.\n"
"\n"
"Use Outer/Inner for the same external wall quality and dimensional accuracy "
"benefits of Inner/Outer/Inner option. However, the z seams will appear less "
@@ -10890,20 +10874,20 @@ msgid ""
msgstr ""
"내벽 및 외벽의 출력 순서를 지정합니다.\n"
"\n"
-"오버행을 가장 잘 출력하려면 내부/외부를 사용합니다. 이는 돌출된 벽이 출력하"
-"는 동안 인접한 경계에 부착될 수 있기 때문입니다. 그러나 이 옵션을 사용하면 외"
-"부 경계가 내부 경계에 눌려 변형되므로 표면 품질이 약간 저하됩니다.\n"
+"오버행을 가장 잘 출력하려면 내부/외부를 사용합니다. 이는 돌출된 벽이 출력하는 "
+"동안 인접한 경계에 부착될 수 있기 때문입니다. 그러나 이 옵션을 사용하면 외부 "
+"경계가 내부 경계에 눌려 변형되므로 표면 품질이 약간 저하됩니다.\n"
"\n"
"내부/외부/내부를 사용하면 외부 벽이 내부 경계에서 방해받지 않고 출력되므로 최"
-"상의 외부 표면 마감과 치수 정확도를 얻을 수 있습니다. 그러나 외부 벽을 출력"
-"할 내부 경계가 없으므로 오버행 성능이 저하됩니다. 이 옵션은 세 번째 경계부터 "
-"내부 벽을 먼저 출력한 다음 외부 경계, 마지막으로 첫 번째 내부 경계를 출력하므"
-"로 최소 3개 이상의 벽이 있어야 효과적입니다. 이 옵션은 대부분의 경우 외부/내"
-"부 옵션보다 권장됩니다.\n"
+"상의 외부 표면 마감과 치수 정확도를 얻을 수 있습니다. 그러나 외부 벽을 출력할 "
+"내부 경계가 없으므로 오버행 성능이 저하됩니다. 이 옵션은 세 번째 경계부터 내"
+"부 벽을 먼저 출력한 다음 외부 경계, 마지막으로 첫 번째 내부 경계를 출력하므로 "
+"최소 3개 이상의 벽이 있어야 효과적입니다. 이 옵션은 대부분의 경우 외부/내부 옵"
+"션보다 권장됩니다.\n"
"\n"
"내부/외부/내부 옵션과 동일한 외벽 품질 및 치수 정확도 이점을 얻으려면 외부/내"
-"부를 사용하세요. 그러나 새 레이어의 첫 번째 돌출이 보이는 표면에서 시작되므"
-"로 Z 심이 덜 일관되게 나타납니다.\n"
+"부를 사용하세요. 그러나 새 레이어의 첫 번째 돌출이 보이는 표면에서 시작되므로 "
+"Z 심이 덜 일관되게 나타납니다.\n"
"\n"
" "
@@ -10925,17 +10909,17 @@ msgid ""
"\n"
"Printing infill first may help with extreme overhangs as the walls have the "
"neighbouring infill to adhere to. However, the infill will slightly push out "
-"the printed walls where it is attached to them, resulting in a worse "
-"external surface finish. It can also cause the infill to shine through the "
-"external surfaces of the part."
+"the printed walls where it is attached to them, resulting in a worse external "
+"surface finish. It can also cause the infill to shine through the external "
+"surfaces of the part."
msgstr ""
"벽/채우기 순서. 확인란을 선택 취소하면 벽이 먼저 출력되며 이는 대부분의 경우 "
"가장 잘 작동합니다.\n"
"\n"
"충전재를 먼저 출력하면 벽에 접착할 인접 충전재가 있으므로 오버행이 심한 경우 "
"도움이 될 수 있습니다. 그러나 충전재는 출력된 벽이 부착된 부분을 약간 밀어내"
-"어 외부 표면 마감이 더 나빠집니다. 또한 충전재가 부품의 외부 표면을 통해 빛"
-"날 수도 있습니다."
+"어 외부 표면 마감이 더 나빠집니다. 또한 충전재가 부품의 외부 표면을 통해 빛날 "
+"수도 있습니다."
msgid "Wall loop direction"
msgstr "벽 루프 방향"
@@ -11000,19 +10984,18 @@ msgid ""
"probe's XY offset, most printers are unable to probe the entire bed. To "
"ensure the probe point does not go outside the bed area, the minimum and "
"maximum points of the bed mesh should be set appropriately. OrcaSlicer "
-"ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not "
-"exceed these min/max points. This information can usually be obtained from "
-"your printer manufacturer. The default setting is (-99999, -99999), which "
-"means there are no limits, thus allowing probing across the entire bed."
+"ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed "
+"these min/max points. This information can usually be obtained from your "
+"printer manufacturer. The default setting is (-99999, -99999), which means "
+"there are no limits, thus allowing probing across the entire bed."
msgstr ""
-"이 옵션은 허용되는 베드 메시 영역의 최소 지점을 설정합니다. 프로브의 XY 옵셋"
-"으로 인해 대부분의 프린터는 전체 베드를 프로브할 수 없습니다. 프로브 포인트"
-"가 베드 영역 밖으로 나가지 않도록 하려면 베드 메시의 최소 및 최대 지점을 적절"
-"하게 설정해야 합니다. OrcaSlicer는 adaptive_bed_mesh_min/"
-"adaptive_bed_mesh_max 값이 이러한 최소/최대 포인트를 초과하지 않도록 보장합니"
-"다. 이 정보는 일반적으로 프린터 제조업체로부터 얻을 수 있습니다. 기본 설정은 "
-"(-99999, -99999)입니다. 이는 제한이 없으므로 전체 베드에 걸쳐 프로빙이 가능함"
-"을 의미합니다."
+"이 옵션은 허용되는 베드 메시 영역의 최소 지점을 설정합니다. 프로브의 XY 옵셋으"
+"로 인해 대부분의 프린터는 전체 베드를 프로브할 수 없습니다. 프로브 포인트가 베"
+"드 영역 밖으로 나가지 않도록 하려면 베드 메시의 최소 및 최대 지점을 적절하게 "
+"설정해야 합니다. OrcaSlicer는 adaptive_bed_mesh_min/adaptive_bed_mesh_max 값"
+"이 이러한 최소/최대 포인트를 초과하지 않도록 보장합니다. 이 정보는 일반적으로 "
+"프린터 제조업체로부터 얻을 수 있습니다. 기본 설정은 (-99999, -99999)입니다. 이"
+"는 제한이 없으므로 전체 베드에 걸쳐 프로빙이 가능함을 의미합니다."
msgid "Bed mesh max"
msgstr "베드 메시 최대"
@@ -11022,19 +11005,18 @@ msgid ""
"probe's XY offset, most printers are unable to probe the entire bed. To "
"ensure the probe point does not go outside the bed area, the minimum and "
"maximum points of the bed mesh should be set appropriately. OrcaSlicer "
-"ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not "
-"exceed these min/max points. This information can usually be obtained from "
-"your printer manufacturer. The default setting is (99999, 99999), which "
-"means there are no limits, thus allowing probing across the entire bed."
+"ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed "
+"these min/max points. This information can usually be obtained from your "
+"printer manufacturer. The default setting is (99999, 99999), which means "
+"there are no limits, thus allowing probing across the entire bed."
msgstr ""
-"이 옵션은 허용되는 침대 메시 영역의 최대 지점을 설정합니다. 프로브의 XY 옵셋"
-"으로 인해 대부분의 프린터는 전체 베드를 프로브할 수 없습니다. 프로브 포인트"
-"가 베드 영역 밖으로 나가지 않도록 하려면 베드 메시의 최소 및 최대 지점을 적절"
-"하게 설정해야 합니다. OrcaSlicer는 adaptive_bed_mesh_min/"
-"adaptive_bed_mesh_max 값이 이러한 최소/최대 포인트를 초과하지 않도록 보장합니"
-"다. 이 정보는 일반적으로 프린터 제조업체로부터 얻을 수 있습니다. 기본 설정은 "
-"(99999, 99999)입니다. 이는 제한이 없으므로 전체 베드에 걸쳐 프로빙이 가능함"
-"을 의미합니다."
+"이 옵션은 허용되는 침대 메시 영역의 최대 지점을 설정합니다. 프로브의 XY 옵셋으"
+"로 인해 대부분의 프린터는 전체 베드를 프로브할 수 없습니다. 프로브 포인트가 베"
+"드 영역 밖으로 나가지 않도록 하려면 베드 메시의 최소 및 최대 지점을 적절하게 "
+"설정해야 합니다. OrcaSlicer는 adaptive_bed_mesh_min/adaptive_bed_mesh_max 값"
+"이 이러한 최소/최대 포인트를 초과하지 않도록 보장합니다. 이 정보는 일반적으로 "
+"프린터 제조업체로부터 얻을 수 있습니다. 기본 설정은 (99999, 99999)입니다. 이"
+"는 제한이 없으므로 전체 베드에 걸쳐 프로빙이 가능함을 의미합니다."
msgid "Probe point distance"
msgstr "프로브 포인트 거리"
@@ -11050,11 +11032,11 @@ msgid "Mesh margin"
msgstr "메시 공간"
msgid ""
-"This option determines the additional distance by which the adaptive bed "
-"mesh area should be expanded in the XY directions."
+"This option determines the additional distance by which the adaptive bed mesh "
+"area should be expanded in the XY directions."
msgstr ""
-"이 옵션은 적응형 베드 메시 영역이 XY 방향으로 확장되어야 하는 추가 거리를 결"
-"정합니다."
+"이 옵션은 적응형 베드 메시 영역이 XY 방향으로 확장되어야 하는 추가 거리를 결정"
+"합니다."
msgid "Extruder Color"
msgstr "압출기 색상"
@@ -11091,9 +11073,9 @@ msgid ""
"ratio."
msgstr ""
"재료는 용융 상태와 결정 상태 사이를 전환한 후 부피 변화가 있을 수 있습니다. "
-"이 설정은 G코드에서 이 필라멘트의 모든 압출 흐름을 비례적으로 변경합니다. 권"
-"장 값 범위는 0.95에서 1.05 사이입니다. 약간의 오버플로 또는 언더플로가 있는 "
-"경우 이 값을 조정하여 멋진 평면을 얻을 수 있습니다.\n"
+"이 설정은 Gcode에서 이 필라멘트의 모든 압출 흐름을 비례적으로 변경합니다. 권"
+"장 값 범위는 0.95에서 1.05 사이입니다. 약간의 오버플로 또는 언더플로가 있는 경"
+"우 이 값을 조정하여 멋진 평면을 얻을 수 있습니다.\n"
"\n"
"최종 객체 흐름 비율은 이 값에 필라멘트 흐름 비율을 곱한 값입니다."
@@ -11121,31 +11103,31 @@ msgid ""
"used that does not cause too much bulging on features with lower flow speed "
"and accelerations while also not causing gaps on faster features.\n"
"\n"
-"This feature aims to address this limitation by modeling the response of "
-"your printer's extrusion system depending on the volumetric flow speed and "
+"This feature aims to address this limitation by modeling the response of your "
+"printer's extrusion system depending on the volumetric flow speed and "
"acceleration it is printing at. Internally, it generates a fitted model that "
"can extrapolate the needed pressure advance for any given volumetric flow "
-"speed and acceleration, which is then emitted to the printer depending on "
-"the current print conditions.\n"
+"speed and acceleration, which is then emitted to the printer depending on the "
+"current print conditions.\n"
"\n"
"When enabled, the pressure advance value above is overridden. However, a "
"reasonable default value above is strongly recommended to act as a fallback "
"and for when tool changing.\n"
"\n"
msgstr ""
-"출력 속도가 증가하고(노즐을 통한 압출 흐름이 증가함) 가속도가 증가함에 따라 "
-"일반적으로 유효 PA 값이 감소하는 것으로 관찰되었습니다. 이는 단일 PA 값이 모"
-"든 기능에 대해 항상 100% 최적인 것은 아니며 일반적으로 유속과 가속도가 낮은 "
-"기능에 너무 많은 돌출을 일으키지 않고 더 빠른 기능에 간격을 유발하지 않는 절"
-"충 값이 사용된다는 것을 의미합니다.\n"
+"출력 속도가 증가하고(노즐을 통한 압출 흐름이 증가함) 가속도가 증가함에 따라 일"
+"반적으로 유효 PA 값이 감소하는 것으로 관찰되었습니다. 이는 단일 PA 값이 모든 "
+"기능에 대해 항상 100% 최적인 것은 아니며 일반적으로 유속과 가속도가 낮은 기능"
+"에 너무 많은 돌출을 일으키지 않고 더 빠른 기능에 간격을 유발하지 않는 절충 값"
+"이 사용된다는 것을 의미합니다.\n"
"\n"
"이 기능은 출력 중인 압출 흐름 속도와 가속도에 따라 프린터 압출 시스템의 반응"
"을 모델링하여 이러한 제한 사항을 해결하는 것을 목표로 합니다. 내부적으로는 주"
-"어진 압출 흐름 속도 및 가속도에 대해 필요한 PA를 추정할 수 있는 적합 "
-"모델을 생성하며, 이는 현재 출력 조건에 따라 프린터로 방출됩니다.\n"
+"어진 압출 흐름 속도 및 가속도에 대해 필요한 PA를 추정할 수 있는 적합 모델을 생"
+"성하며, 이는 현재 출력 조건에 따라 프린터로 방출됩니다.\n"
"\n"
-"활성화되면 위의 PA 값이 무시됩니다. 그러나 대체 수단으로 사용하거나 도"
-"구를 변경할 때 위의 합리적인 기본값을 사용하는 것이 좋습니다.\n"
+"활성화되면 위의 PA 값이 무시됩니다. 그러나 대체 수단으로 사용하거나 도구를 변"
+"경할 때 위의 합리적인 기본값을 사용하는 것이 좋습니다.\n"
msgid "Adaptive pressure advance measurements (beta)"
msgstr "적응형 PA 측정(베타)"
@@ -11164,35 +11146,35 @@ msgid ""
"1. Run the pressure advance test for at least 3 speeds per acceleration "
"value. It is recommended that the test is run for at least the speed of the "
"external perimeters, the speed of the internal perimeters and the fastest "
-"feature print speed in your profile (usually its the sparse or solid "
-"infill). Then run them for the same speeds for the slowest and fastest print "
+"feature print speed in your profile (usually its the sparse or solid infill). "
+"Then run them for the same speeds for the slowest and fastest print "
"accelerations,and no faster than the recommended maximum acceleration as "
"given by the Klipper input shaper.\n"
"2. Take note of the optimal PA value for each volumetric flow speed and "
"acceleration. You can find the flow number by selecting flow from the color "
"scheme drop down and move the horizontal slider over the PA pattern lines. "
"The number should be visible at the bottom of the page. The ideal PA value "
-"should be decreasing the higher the volumetric flow is. If it is not, "
-"confirm that your extruder is functioning correctly. The slower and with "
-"less acceleration you print, the larger the range of acceptable PA values. "
-"If no difference is visible, use the PA value from the faster test.\n"
+"should be decreasing the higher the volumetric flow is. If it is not, confirm "
+"that your extruder is functioning correctly. The slower and with less "
+"acceleration you print, the larger the range of acceptable PA values. If no "
+"difference is visible, use the PA value from the faster test.\n"
"3. Enter the triplets of PA values, Flow and Accelerations in the text box "
"here and save your filament profile\n"
"\n"
msgstr ""
-"PA 값 세트, 측정된 압출 압출량 속도 및 가속도를 쉼표로 구분하여 추"
-"가합니다. 한 줄에 하나의 값 세트가 있습니다. 예를 들어\n"
+"PA 값 세트, 측정된 압출 압출량 속도 및 가속도를 쉼표로 구분하여 추가합니다. "
+"한 줄에 하나의 값 세트가 있습니다. 예를 들어\n"
"0.04,3.96,3000\n"
"0.033,3.96,10000\n"
"0.029,7.91,3000\n"
"0.026,7.91,10000\n"
"\n"
"교정 방법:\n"
-"1. 가속도 값당 최소 3개 속도에 대해 PA 테스트를 실행합니다. 최소한 외"
-"부 둘레의 속도, 내부 둘레의 속도 및 프로필의 가장 빠른 기능 출력 속도(일반적"
-"으로 희박하거나 단단한 충전재)에 대해 테스트를 실행하는 것이 좋습니다. 그런 "
-"다음 가장 느리고 가장 빠른 출력 가속을 위해 동일한 속도로 실행하고 Klipper 입"
-"력 셰이퍼에서 제공하는 권장 최대 가속보다 빠르지 않게 실행하십시오.\n"
+"1. 가속도 값당 최소 3개 속도에 대해 PA 테스트를 실행합니다. 최소한 외부 둘레"
+"의 속도, 내부 둘레의 속도 및 프로필의 가장 빠른 기능 출력 속도(일반적으로 희박"
+"하거나 단단한 충전재)에 대해 테스트를 실행하는 것이 좋습니다. 그런 다음 가장 "
+"느리고 가장 빠른 출력 가속을 위해 동일한 속도로 실행하고 Klipper 입력 셰이퍼에"
+"서 제공하는 권장 최대 가속보다 빠르지 않게 실행하십시오.\n"
"2. 각 압출 유속 및 가속도에 대한 최적의 PA 값을 기록해 두십시오. 색상 구성표 "
"드롭다운에서 흐름을 선택하고 PA 패턴 라인 위로 수평 슬라이더를 이동하여 흐름 "
"번호를 찾을 수 있습니다. 페이지 하단에 번호가 표시되어야 합니다. 이상적인 PA "
@@ -11206,14 +11188,14 @@ msgid "Enable adaptive pressure advance for overhangs (beta)"
msgstr "오버행에 대한 적응형 PA 활성화(베타)"
msgid ""
-"Enable adaptive PA for overhangs as well as when flow changes within the "
-"same feature. This is an experimental option, as if the PA profile is not "
-"set accurately, it will cause uniformity issues on the external surfaces "
-"before and after overhangs.\n"
+"Enable adaptive PA for overhangs as well as when flow changes within the same "
+"feature. This is an experimental option, as if the PA profile is not set "
+"accurately, it will cause uniformity issues on the external surfaces before "
+"and after overhangs.\n"
msgstr ""
-"오버행뿐만 아니라 동일한 기능 내에서 흐름이 변경되는 경우 적응형 PA를 활성화"
-"합니다. 이는 실험적인 옵션입니다. PA 프로파일이 정확하게 설정되지 않으면 오버"
-"행 전후의 외부 표면에 균일성 문제가 발생할 수 있습니다.\n"
+"오버행뿐만 아니라 동일한 기능 내에서 흐름이 변경되는 경우 적응형 PA를 활성화합"
+"니다. 이는 실험적인 옵션입니다. PA 프로파일이 정확하게 설정되지 않으면 오버행 "
+"전후의 외부 표면에 균일성 문제가 발생할 수 있습니다.\n"
msgid "Pressure advance for bridges"
msgstr "브릿지를 위한 PA"
@@ -11221,20 +11203,20 @@ msgstr "브릿지를 위한 PA"
msgid ""
"Pressure advance value for bridges. Set to 0 to disable.\n"
"\n"
-"A lower PA value when printing bridges helps reduce the appearance of "
-"slight under extrusion immediately after bridges. This is caused by the "
-"pressure drop in the nozzle when printing in the air and a lower PA helps "
-"counteract this."
+"A lower PA value when printing bridges helps reduce the appearance of slight "
+"under extrusion immediately after bridges. This is caused by the pressure "
+"drop in the nozzle when printing in the air and a lower PA helps counteract "
+"this."
msgstr ""
"브릿지의 PA 값입니다. 비활성화하려면 0으로 설정합니다.\n"
"\n"
" 브릿지를 프린팅할 때 PA 값이 낮으면 브릿지 직후에 약간의 언더 압출이 나타나"
-"는 것을 줄이는 데 도움이 됩니다. 이는 공중에서 출력할 때 노즐의 압력 강하로 "
-"인해 발생하며 PA가 낮을수록 이를 방지하는 데 도움이 됩니다."
+"는 것을 줄이는 데 도움이 됩니다. 이는 공중에서 출력할 때 노즐의 압력 강하로 인"
+"해 발생하며 PA가 낮을수록 이를 방지하는 데 도움이 됩니다."
msgid ""
-"Default line width if other line widths are set to 0. If expressed as a %, "
-"it will be computed over the nozzle diameter."
+"Default line width if other line widths are set to 0. If expressed as a %, it "
+"will be computed over the nozzle diameter."
msgstr ""
"다른 선 너비가 0으로 설정된 경우 기본 선 너비입니다. %로 입력 시 노즐 직경에 "
"대한 비율로 계산됩니다."
@@ -11313,8 +11295,8 @@ msgid ""
"case of too high and unreasonable speed setting. Can't be zero"
msgstr ""
"이 설정은 초당 얼마나 많은 양의 필라멘트를 녹이고 압출할 수 있는지를 나타냅니"
-"다. 너무 높고 부적절한 속도 설정의 경우 출력 속도는 최대 압출 속도에 의해 제"
-"한됩니다. 0이 될 수 없습니다"
+"다. 너무 높고 부적절한 속도 설정의 경우 출력 속도는 최대 압출 속도에 의해 제한"
+"됩니다. 0이 될 수 없습니다"
msgid "mm³/s"
msgstr "mm³/s"
@@ -11328,20 +11310,20 @@ msgid ""
"machines, it's typically 0. For statistics only"
msgstr ""
"필라멘트를 교체할 때 새 필라멘트를 로드하는 시간입니다. 일반적으로 단일 압출"
-"기 다중 재료 기계에 적용 가능합니다. 공구 교환기 또는 다중 공구 기계의 경우 "
-"일반적으로 0입니다. 통계용으로만 사용됩니다"
+"기 다중 재료 기계에 적용 가능합니다. 공구 교환기 또는 다중 공구 기계의 경우 일"
+"반적으로 0입니다. 통계용으로만 사용됩니다"
msgid "Filament unload time"
msgstr "필라멘트 빼기 시간"
msgid ""
-"Time to unload old filament when switch filament. It's usually applicable "
-"for single-extruder multi-material machines. For tool changers or multi-tool "
+"Time to unload old filament when switch filament. It's usually applicable for "
+"single-extruder multi-material machines. For tool changers or multi-tool "
"machines, it's typically 0. For statistics only"
msgstr ""
-"필라멘트를 교체할 때 오래된 필라멘트를 언로드하는 시간입니다. 일반적으로 단"
-"일 압출기 다중 재료 기계에 적용 가능합니다. 공구 교환기 또는 다중 공구 기계"
-"의 경우 일반적으로 0입니다. 통계용으로만 사용됩니다"
+"필라멘트를 교체할 때 오래된 필라멘트를 언로드하는 시간입니다. 일반적으로 단일 "
+"압출기 다중 재료 기계에 적용 가능합니다. 공구 교환기 또는 다중 공구 기계의 경"
+"우 일반적으로 0입니다. 통계용으로만 사용됩니다"
msgid "Tool change time"
msgstr "툴 체인지 시간"
@@ -11351,16 +11333,16 @@ msgid ""
"multi-tool machines. For single-extruder multi-material machines, it's "
"typically 0. For statistics only"
msgstr ""
-"툴 체인지를 전환하는 데 소요되는 시간입니다. 일반적으로 공구 교환기 또는 다"
-"중 공구 기계에 적용 가능합니다. 단일 압출기 다중 재료 기계의 경우 일반적으로 "
-"0입니다. 통계용으로만 사용됩니다"
+"툴 체인지를 전환하는 데 소요되는 시간입니다. 일반적으로 공구 교환기 또는 다중 "
+"공구 기계에 적용 가능합니다. 단일 압출기 다중 재료 기계의 경우 일반적으로 0입"
+"니다. 통계용으로만 사용됩니다"
msgid ""
"Filament diameter is used to calculate extrusion in G-code, so it is "
"important and should be accurate."
msgstr ""
-"필라멘트 직경은 G코드에서 압출량을 계산하는데 사용되므로 중요하며 정확해야 합"
-"니다"
+"필라멘트 직경은 Gcode에서 압출량을 계산하는데 사용되므로 중요하며 정확해야 합"
+"니다."
msgid "Pellet flow coefficient"
msgstr "펠릿 압출량 계수"
@@ -11444,8 +11426,8 @@ msgstr "언로드 후 지연"
msgid ""
"Time to wait after the filament is unloaded. May help to get reliable tool "
-"changes with flexible materials that may need more time to shrink to "
-"original dimensions."
+"changes with flexible materials that may need more time to shrink to original "
+"dimensions."
msgstr ""
"필라멘트를 뺀 후 기다리는 시간입니다. 원래 치수로 축소되는 데 더 많은 시간이 "
"필요할 수 있는 유연한 재료 사용 시 안정적으로 툴 체인지를 할 수 있게 도움이 "
@@ -11472,12 +11454,12 @@ msgstr "냉각 튜브 중심에서 측정한 스탬핑 거리"
msgid ""
"If set to non-zero value, filament is moved toward the nozzle between the "
-"individual cooling moves (\"stamping\"). This option configures how long "
-"this movement should be before the filament is retracted again."
+"individual cooling moves (\"stamping\"). This option configures how long this "
+"movement should be before the filament is retracted again."
msgstr ""
"0이 아닌 값으로 설정되면 개별 냉각 이동(\"스탬핑\") 사이에 필라멘트가 노즐을 "
-"향해 이동합니다. 이 옵션은 필라멘트가 다시 수축되기 전에 이 움직임이 얼마나 "
-"오래 지속되어야 하는지를 구성합니다."
+"향해 이동합니다. 이 옵션은 필라멘트가 다시 수축되기 전에 이 움직임이 얼마나 오"
+"래 지속되어야 하는지를 구성합니다."
msgid "Speed of the first cooling move"
msgstr "첫 번째 냉각 이동 속도"
@@ -11491,14 +11473,14 @@ msgstr "프라임 타워의 최소 청소"
msgid ""
"After a tool change, the exact position of the newly loaded filament inside "
"the nozzle may not be known, and the filament pressure is likely not yet "
-"stable. Before purging the print head into an infill or a sacrificial "
-"object, Orca Slicer will always prime this amount of material into the wipe "
-"tower to produce successive infill or sacrificial object extrusions reliably."
+"stable. Before purging the print head into an infill or a sacrificial object, "
+"Orca Slicer will always prime this amount of material into the wipe tower to "
+"produce successive infill or sacrificial object extrusions reliably."
msgstr ""
"툴 체인지 후 노즐 내부에 새로 로드된 필라멘트의 정확한 위치를 알 수 없으며 필"
"라멘트 압력이 아직 안정적이지 않을 수 있습니다. 프린트 헤드를 채우기 또는 희"
-"생 객체로 청소하기 전에 Orca Slicer은 항상 이 양의 재료를 프라임 타워로 프라"
-"이밍하여 연속적인 채우기 또는 희생 물체 압출을 안정적으로 생성합니다."
+"생 객체로 청소하기 전에 Orca Slicer은 항상 이 양의 재료를 프라임 타워로 프라이"
+"밍하여 연속적인 채우기 또는 희생 물체 압출을 안정적으로 생성합니다."
msgid "Speed of the last cooling move"
msgstr "마지막 냉각 이동 속도"
@@ -11520,10 +11502,10 @@ msgid "Enable ramming for multi-tool setups"
msgstr "다중 압출기 설정을 위한 채워넣기 활성화"
msgid ""
-"Perform ramming when using multi-tool printer (i.e. when the 'Single "
-"Extruder Multimaterial' in Printer Settings is unchecked). When checked, a "
-"small amount of filament is rapidly extruded on the wipe tower just before "
-"the tool change. This option is only used when the wipe tower is enabled."
+"Perform ramming when using multi-tool printer (i.e. when the 'Single Extruder "
+"Multimaterial' in Printer Settings is unchecked). When checked, a small "
+"amount of filament is rapidly extruded on the wipe tower just before the tool "
+"change. This option is only used when the wipe tower is enabled."
msgstr ""
"다중 압출기 프린터를 사용할 때 채워넣기를 수행합니다(예: 프린터 설정에서 '단"
"일 압출기 다중 재료'가 선택 취소된 경우). 활성화하면 툴 체인지 직전 프라임 타"
@@ -11611,9 +11593,9 @@ msgid "Solid infill direction"
msgstr "꽉찬 채우기 방향"
msgid ""
-"Angle for solid infill pattern, which controls the start or main direction "
-"of line"
-msgstr "선의 시작 또는 기본 방향을 제어하는 솔리드 채우기 패턴의 각도"
+"Angle for solid infill pattern, which controls the start or main direction of "
+"line"
+msgstr "선의 시작 또는 기본 방향을 제어하는 솔리드 채우기 패턴의 각도"
msgid "Rotate solid infill direction"
msgstr "솔리드 채우기 방향 회전"
@@ -11681,8 +11663,8 @@ msgid "Lattice angle 1"
msgstr "격자 각도 1"
msgid ""
-"The angle of the first set of 2D lattice elements in the Z direction. Zero "
-"is vertical."
+"The angle of the first set of 2D lattice elements in the Z direction. Zero is "
+"vertical."
msgstr "Z 방향의 첫 번째 2D 격자 요소 집합의 각도입니다. 0은 수직입니다."
msgid "Lattice angle 2"
@@ -11700,11 +11682,10 @@ msgid ""
"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. Orca Slicer tries to connect two "
-"close infill lines to a short perimeter segment. If no such perimeter "
-"segment shorter than infill_anchor_max is found, the infill line is "
-"connected to a perimeter segment at just one side and the length of the "
-"perimeter segment taken is limited to this parameter, but no longer than "
-"anchor_length_max.\n"
+"close infill lines to a short perimeter segment. If no such perimeter segment "
+"shorter than infill_anchor_max is found, the infill line is connected to a "
+"perimeter segment at just one side and the length of the perimeter segment "
+"taken is limited to this parameter, but no longer than anchor_length_max.\n"
"Set this parameter to zero to disable anchoring perimeters connected to a "
"single infill line."
msgstr ""
@@ -11731,20 +11712,19 @@ msgid ""
"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. Orca Slicer tries to connect two "
-"close infill lines to a short perimeter segment. If no such perimeter "
-"segment shorter than this parameter is found, the infill line is connected "
-"to a perimeter segment at just one side and the length of the perimeter "
-"segment taken is limited to infill_anchor, but no longer than this "
-"parameter.\n"
+"close infill lines to a short perimeter segment. If no such perimeter segment "
+"shorter than this parameter is found, the infill line is connected to a "
+"perimeter segment at just one side and the length of the perimeter segment "
+"taken is limited to infill_anchor, but no longer than this parameter.\n"
"If set to 0, the old algorithm for infill connection will be used, it should "
"create the same result as with 1000 & 0."
msgstr ""
"추가 둘레의 짧은 세그먼트를 사용하여 채우기 선을 내부 둘레에 연결합니다. 백분"
-"율(예: 15%)로 표시되는 경우 채우기 돌출 너비에 대해 계산됩니다. Orca Slicer"
-"은 두 개의 가까운 채우기 선을 짧은 주변 세그먼트에 연결하려고 합니다. 이 매개"
-"변수보다 짧은 주변 세그먼트가 발견되지 않으면 채우기 선은 한쪽 측면의 주변 세"
-"그먼트에 연결되고 사용된 주변 세그먼트의 길이는 앵커 채우기(infill_anchor)로 "
-"제한되지만 이 매개변수보다 길지 않습니다.\n"
+"율(예: 15%)로 표시되는 경우 채우기 돌출 너비에 대해 계산됩니다. Orca Slicer은 "
+"두 개의 가까운 채우기 선을 짧은 주변 세그먼트에 연결하려고 합니다. 이 매개변수"
+"보다 짧은 주변 세그먼트가 발견되지 않으면 채우기 선은 한쪽 측면의 주변 세그먼"
+"트에 연결되고 사용된 주변 세그먼트의 길이는 앵커 채우기(infill_anchor)로 제한"
+"되지만 이 매개변수보다 길지 않습니다.\n"
"0으로 설정하면 채우기 연결에 대한 이전 알고리즘이 사용되며 1000 & 0과 동일한 "
"결과를 생성해야 합니다."
@@ -11798,8 +11778,7 @@ msgid ""
"Acceleration of initial layer. Using a lower value can improve build plate "
"adhesion."
msgstr ""
-"초기 레이어 가속도. 낮은 값을 사용하면 빌드 플레이트 안착률을 높일 수 있습니"
-"다"
+"초기 레이어 가속도. 낮은 값을 사용하면 빌드 플레이트 안착률을 높일 수 있습니다"
msgid "Enable accel_to_decel"
msgstr "가속/감속 활성화"
@@ -11813,7 +11792,8 @@ msgstr "가속/감속"
#, c-format, boost-format
msgid ""
"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration"
-msgstr "Klipper의 max_accel_to_decel은 가속도의 %%로 조정됩니다"
+msgstr ""
+"Klipper의 max_accel_to_decel은 가속도의 %%로 조정됩니다"
msgid "Jerk of outer walls"
msgstr "외벽 저크"
@@ -11842,11 +11822,11 @@ msgid "Initial layer height"
msgstr "초기 레이어 높이"
msgid ""
-"Height of initial layer. Making initial layer height to be thick slightly "
-"can improve build plate adhesion"
+"Height of initial layer. Making initial layer height to be thick slightly can "
+"improve build plate adhesion"
msgstr ""
-"초기 레이어의 높이입니다. 초기 레이어 높이를 약간 두껍게 하면 빌드 플레이트 "
-"접착력을 향상시킬 수 있습니다"
+"초기 레이어의 높이입니다. 초기 레이어 높이를 약간 두껍게 하면 빌드 플레이트 접"
+"착력을 향상시킬 수 있습니다"
msgid "Speed of initial layer except the solid infill part"
msgstr "꽉찬 채우기 부분을 제외한 초기 레이어 속도"
@@ -11870,8 +11850,8 @@ msgid ""
"The first few layers are printed slower than normal. The speed is gradually "
"increased in a linear fashion over the specified number of layers."
msgstr ""
-"처음 몇 개의 레이어는 평소보다 느리게 출력됩니다. 속도는 지정된 레이어 수에 "
-"걸쳐 선형 방식으로 점차 증가합니다."
+"처음 몇 개의 레이어는 평소보다 느리게 출력됩니다. 속도는 지정된 레이어 수에 걸"
+"쳐 선형 방식으로 점차 증가합니다."
msgid "Initial layer nozzle temperature"
msgstr "초기 레이어 노즐 온도"
@@ -11909,8 +11889,8 @@ msgid ""
"This setting is overridden by disable_fan_first_layers."
msgstr ""
"이 파트 냉각 팬 속도는 서포트 인터페이스를 출력할 때 적용됩니다. 이 파라미터"
-"를 일반 속도보다 높게 설정하면 서포트와 서포트 파트 사이의 레이어 결합 강도"
-"가 감소하여 쉽게 분리할 수 있습니다.\n"
+"를 일반 속도보다 높게 설정하면 서포트와 서포트 파트 사이의 레이어 결합 강도가 "
+"감소하여 쉽게 분리할 수 있습니다.\n"
"비활성화하려면 -1로 설정합니다.\n"
"이 설정은 disable_fan_first_layers로 재정의됩니다."
@@ -11935,8 +11915,8 @@ msgid ""
"Randomly jitter while printing the wall, so that the surface has a rough "
"look. This setting controls the fuzzy position"
msgstr ""
-"벽을 출력하는 동안 무작위로 지터가 발생하여 표면이 거칠게 보입니다. 이 설정"
-"은 퍼지 위치를 제어합니다"
+"벽을 출력하는 동안 무작위로 지터가 발생하여 표면이 거칠게 보입니다. 이 설정은 "
+"퍼지 위치를 제어합니다"
msgid "Contour"
msgstr "윤곽"
@@ -11959,8 +11939,7 @@ msgid "Fuzzy skin point distance"
msgstr "퍼지 스킨 지점 거리"
msgid ""
-"The average distance between the random points introduced on each line "
-"segment"
+"The average distance between the random points introduced on each line segment"
msgstr "각 선의 분절에 도입된 임의의 지점간 평균 거리"
msgid "Apply fuzzy skin to first layer"
@@ -11977,8 +11956,8 @@ msgid ""
"Classic: Classic uniform random noise.\n"
"Perlin: Perlin noise, which gives a more consistent texture.\n"
"Billow: Similar to perlin noise, but clumpier.\n"
-"Ridged Multifractal: Ridged noise with sharp, jagged features. Creates "
-"marble-like textures.\n"
+"Ridged Multifractal: Ridged noise with sharp, jagged features. Creates marble-"
+"like textures.\n"
"Voronoi: Divides the surface into voronoi cells, and displaces each one by a "
"random amount. Creates a patchwork texture."
msgstr ""
@@ -11986,10 +11965,10 @@ msgstr ""
"클래식: 클래식 균일 랜덤 노이즈.\n"
"펄린: 펄린 노이즈: 보다 일관된 텍스처를 제공하는 펄린 노이즈입니다.\n"
"빌로우: 펄린 노이즈와 비슷하지만 더 뭉툭합니다.\n"
-"리지드 멀티프랙탈: 날카롭고 들쭉날쭉한 특징을 가진 리지드 노이즈입니다. 대리"
-"석과 같은 텍스처를 만듭니다.\n"
-"보로노이: 보로노이: 표면을 보로노이 셀로 나누고 각 셀을 임의의 양만큼 이동시"
-"킵니다. 패치워크 텍스처를 만듭니다."
+"리지드 멀티프랙탈: 날카롭고 들쭉날쭉한 특징을 가진 리지드 노이즈입니다. 대리석"
+"과 같은 텍스처를 만듭니다.\n"
+"보로노이: 보로노이: 표면을 보로노이 셀로 나누고 각 셀을 임의의 양만큼 이동시킵"
+"니다. 패치워크 텍스처를 만듭니다."
msgid "Classic"
msgstr "클래식"
@@ -12022,8 +12001,8 @@ msgid ""
"The number of octaves of coherent noise to use. Higher values increase the "
"detail of the noise, but also increase computation time."
msgstr ""
-"사용할 일관된 노이즈의 옥타브 수입니다. 값이 클수록 노이즈의 디테일이 증가하"
-"지만 계산 시간도 늘어납니다."
+"사용할 일관된 노이즈의 옥타브 수입니다. 값이 클수록 노이즈의 디테일이 증가하지"
+"만 계산 시간도 늘어납니다."
msgid "Fuzzy skin noise persistence"
msgstr "퍼지 스킨 노이즈 지속성"
@@ -12054,8 +12033,8 @@ msgid ""
"Speed of gap infill. Gap usually has irregular line width and should be "
"printed more slowly"
msgstr ""
-"간격 채우기 속도. 간격은 일반적으로 선 너비가 불규칙하므로 더 천천히 출력해"
-"야 합니다"
+"간격 채우기 속도. 간격은 일반적으로 선 너비가 불규칙하므로 더 천천히 출력해야 "
+"합니다"
msgid "Precise Z height"
msgstr "정확한 Z 높이"
@@ -12065,9 +12044,9 @@ msgid ""
"precise object height by fine-tuning the layer heights of the last few "
"layers. Note that this is an experimental parameter."
msgstr ""
-"슬라이싱 후 객체의 정확한 z 높이를 얻으려면 이 옵션을 활성화하세요. 마지막 "
-"몇 레이어의 레이어 높이를 미세 조정하여 정확한 객체 높이를 얻습니다. 이는 실"
-"험적인 매개변수입니다."
+"슬라이싱 후 객체의 정확한 z 높이를 얻으려면 이 옵션을 활성화하세요. 마지막 몇 "
+"레이어의 레이어 높이를 미세 조정하여 정확한 객체 높이를 얻습니다. 이는 실험적"
+"인 매개변수입니다."
msgid "Arc fitting"
msgstr "원호 맞춤"
@@ -12077,24 +12056,23 @@ msgid ""
"tolerance is same as the resolution.\n"
"\n"
"Note: For Klipper machines, this option is recommended to be disabled. "
-"Klipper does not benefit from arc commands as these are split again into "
-"line segments by the firmware. This results in a reduction in surface "
-"quality as line segments are converted to arcs by the slicer and then back "
-"to line segments by the firmware."
+"Klipper does not benefit from arc commands as these are split again into line "
+"segments by the firmware. This results in a reduction in surface quality as "
+"line segments are converted to arcs by the slicer and then back to line "
+"segments by the firmware."
msgstr ""
-"G2 및 G3 이동이 있는 Gcode 파일을 얻으려면 이 옵션을 활성화하십시오. 피팅 공"
-"차는 분해능과 동일합니다.\n"
+"G2 및 G3 이동이 있는 Gcode 파일을 얻으려면 이 옵션을 활성화하십시오. 피팅 공차"
+"는 분해능과 동일합니다.\n"
"\n"
-"참고: Klipper 기계의 경우 이 옵션을 비활성화하는 것이 좋습니다. Klipper는 "
-"arc 명령이 펌웨어에 의해 라인 세그먼트로 다시 분할되므로 이점을 얻지 못합니"
-"다. 이로 인해 선 세그먼트가 슬라이서에 의해 호로 변환된 다음 펌웨어에 의해 다"
-"시 선 세그먼트로 변환되므로 표면 품질이 저하됩니다."
+"참고: Klipper 기계의 경우 이 옵션을 비활성화하는 것이 좋습니다. Klipper는 arc "
+"명령이 펌웨어에 의해 라인 세그먼트로 다시 분할되므로 이점을 얻지 못합니다. 이"
+"로 인해 선 세그먼트가 슬라이서에 의해 호로 변환된 다음 펌웨어에 의해 다시 선 "
+"세그먼트로 변환되므로 표면 품질이 저하됩니다."
msgid "Add line number"
msgstr "라인 번호 추가"
-msgid ""
-"Enable this to add line number(Nx) at the beginning of each G-code line."
+msgid "Enable this to add line number(Nx) at the beginning of each G-code line."
msgstr ""
"각 Gcode 라인의 시작 부분에 라인 번호(Nx)를 추가하려면 이 기능을 활성화하세요"
@@ -12115,8 +12093,8 @@ msgid ""
"The metallic material of nozzle. This determines the abrasive resistance of "
"nozzle, and what kind of filament can be printed"
msgstr ""
-"노즐의 금속 재질. 노즐의 내마모성을 결정하고 어떤 종류의 필라멘트를 출력할 "
-"수 있는지를 결정합니다"
+"노즐의 금속 재질. 노즐의 내마모성을 결정하고 어떤 종류의 필라멘트를 출력할 수 "
+"있는지를 결정합니다"
msgid "Undefine"
msgstr "알 수 없음"
@@ -12167,8 +12145,8 @@ msgid "Best auto arranging position in range [0,1] w.r.t. bed shape."
msgstr "베드 모양 w.r.t. 범위 [0,1] 내에서 가장 좋은 자동 정렬 위치입니다."
msgid ""
-"Enable this option if machine has auxiliary part cooling fan. G-code "
-"command: M106 P2 S(0-255)."
+"Enable this option if machine has auxiliary part cooling fan. G-code command: "
+"M106 P2 S(0-255)."
msgstr ""
"장치에 보조 출력물 냉각팬이 있는 경우 이 옵션을 활성화합니다. Gcode 명령: "
"M106 P2 S(0-255)."
@@ -12180,15 +12158,15 @@ msgid ""
"unsupported).\n"
"It won't move fan commands from custom G-code (they act as a sort of "
"'barrier').\n"
-"It won't move fan commands into the start G-code if the 'only custom start "
-"G-code' is activated.\n"
+"It won't move fan commands into the start G-code if the 'only custom start G-"
+"code' is activated.\n"
"Use 0 to deactivate."
msgstr ""
"목표한 시작 시간보다 이 시간(소수 초를 사용할 수 있음) 일찍 팬을 시작합니다. "
"이 시간 추정을 위해 무한 가속을 가정하고 G1 및 G0 이동만 고려합니다(원호 맞춤"
"은 지원되지 않음).\n"
-"사용자 정의 G코드에서 팬 명령을 이동하지 않습니다(일종의 '장벽' 역할을 함).\n"
-"'사용자 정의 시작 G코드만'이 활성화된 경우 팬 명령을 시작 G코드로 이동하지 않"
+"사용자 정의 Gcode에서 팬 명령을 이동하지 않습니다(일종의 '장벽' 역할을 함).\n"
+"'사용자 정의 시작 Gcode만'이 활성화된 경우 팬 명령을 시작 Gcode로 이동하지 않"
"습니다.\n"
"비활성화하려면 0을 사용하세요."
@@ -12208,8 +12186,8 @@ msgid ""
"fan started spinning from a stop, or to get the fan up to speed faster.\n"
"Set to 0 to deactivate."
msgstr ""
-"목표 속도로 줄이기 전에 냉각 팬을 시동하기 위해 이 시간만큼 일찍 최대 팬 속"
-"도 명령을 내립니다.\n"
+"목표 속도로 줄이기 전에 냉각 팬을 시동하기 위해 이 시간만큼 일찍 최대 팬 속도 "
+"명령을 내립니다.\n"
"이 기능은 낮은 PWM/전력으로는 팬이 정지 상태에서 회전을 시작하거나 팬의 속도"
"를 빠르게 향상시키기에 부족할 수 있는 팬에게 유용합니다.\n"
"비활성화하려면 0으로 설정합니다."
@@ -12270,9 +12248,9 @@ msgstr "객체 이름표"
# Wipe into this object;s infill/Wipe into this object
msgid ""
"Enable this to add comments into the G-code labeling print moves with what "
-"object they belong to, which is useful for the Octoprint CancelObject "
-"plugin. This settings is NOT compatible with Single Extruder Multi Material "
-"setup and Wipe into Object / Wipe into Infill."
+"object they belong to, which is useful for the Octoprint CancelObject plugin. "
+"This settings is NOT compatible with Single Extruder Multi Material setup and "
+"Wipe into Object / Wipe into Infill."
msgstr ""
"이 옵션을 선택하면 Gcode 출력시 이동에 설명을 추가할 수 있습니다. 이는 "
"Octoprint CancelObject 플러그인에 유용합니다.\n"
@@ -12283,7 +12261,7 @@ msgid "Exclude objects"
msgstr "객체 제외"
msgid "Enable this option to add EXCLUDE OBJECT command in G-code."
-msgstr "G코드에 객체 제외 명령을 추가하려면 이 옵션을 활성화하세요"
+msgstr "Gcode에 객체 제외 명령을 추가하려면 이 옵션을 활성화하세요."
msgid "Verbose G-code"
msgstr "상세한 Gcode"
@@ -12294,8 +12272,8 @@ msgid ""
"file could make your firmware slow down."
msgstr ""
"주석이 달린 Gcode 파일을 가져오려면 이 기능을 활성화하세요. 각 라인은 설명 텍"
-"스트로 설명됩니다. SD 카드에서 출력하는 경우 파일의 추가 크기로 인해 펌웨어 "
-"속도가 느려질 수 있습니다."
+"스트로 설명됩니다. SD 카드에서 출력하는 경우 파일의 추가 크기로 인해 펌웨어 속"
+"도가 느려질 수 있습니다."
msgid "Infill combination"
msgstr "채우기 결합"
@@ -12304,8 +12282,8 @@ msgid ""
"Automatically Combine sparse infill of several layers to print together to "
"reduce time. Wall is still printed with original layer height."
msgstr ""
-"여러 레이어의 드문 채우기를 자동으로 결합 후 함께 출력하여 시간을 단축합니"
-"다. 벽은 여전히 설정된 레이어 높이로 출력됩니다."
+"여러 레이어의 드문 채우기를 자동으로 결합 후 함께 출력하여 시간을 단축합니다. "
+"벽은 여전히 설정된 레이어 높이로 출력됩니다."
msgid "Infill combination - Max layer height"
msgstr "채우기 조합 - 최대 레이어 높이"
@@ -12319,16 +12297,16 @@ msgid ""
"The number of layers over which infill is combined is derived by dividing "
"this value with the layer height and rounded down to the nearest decimal.\n"
"\n"
-"Use either absolute mm values (eg. 0.32mm for a 0.4mm nozzle) or % values "
-"(eg 80%). This value must not be larger than the nozzle diameter."
+"Use either absolute mm values (eg. 0.32mm for a 0.4mm nozzle) or % values (eg "
+"80%). This value must not be larger than the nozzle diameter."
msgstr ""
"결합된 희소 채우기의 최대 레이어 높이입니다.\n"
"\n"
-"노즐 직경(출력 시간을 최대로 줄이기 위해)을 사용하려면 0 또는 100%로 설정하"
-"고 희박한 채우기 강도를 최대화하려면 ~80% 값으로 설정합니다.\n"
+"노즐 직경(출력 시간을 최대로 줄이기 위해)을 사용하려면 0 또는 100%로 설정하고 "
+"희박한 채우기 강도를 최대화하려면 ~80% 값으로 설정합니다.\n"
"\n"
-"채우기가 결합되는 레이어 수는 이 값을 레이어 높이로 나누고 가장 가까운 소수"
-"점 이하 자릿수로 반내림하여 파생됩니다.\n"
+"채우기가 결합되는 레이어 수는 이 값을 레이어 높이로 나누고 가장 가까운 소수점 "
+"이하 자릿수로 반내림하여 파생됩니다.\n"
"\n"
"절대 mm 값(예: 0.4mm 노즐의 경우 0.32mm) 또는 % 값(예: 80%)을 사용합니다. 이 "
"값은 노즐 직경보다 커서는 안 됩니다."
@@ -12347,14 +12325,14 @@ msgstr "채우기/벽 겹치기"
#, no-c-format, no-boost-format
msgid ""
-"Infill area is enlarged slightly to overlap with wall for better bonding. "
-"The percentage value is relative to line width of sparse infill. Set this "
-"value to ~10-15% to minimize potential over extrusion and accumulation of "
-"material resulting in rough top surfaces."
+"Infill area is enlarged slightly to overlap with wall for better bonding. The "
+"percentage value is relative to line width of sparse infill. Set this value "
+"to ~10-15% to minimize potential over extrusion and accumulation of material "
+"resulting in rough top surfaces."
msgstr ""
"채우기 영역은 더 나은 접착을 위해 벽과 겹치도록 약간 확대됩니다. 백분율 값은 "
-"희박한 채우기의 선 너비를 기준으로 합니다. 거친 상단 표면을 초래하는 재료의 "
-"압출 및 축적 가능성을 최소화하려면 이 값을 ~10-15%로 설정하십시오."
+"희박한 채우기의 선 너비를 기준으로 합니다. 거친 상단 표면을 초래하는 재료의 압"
+"출 및 축적 가능성을 최소화하려면 이 값을 ~10-15%로 설정하십시오."
msgid "Top/Bottom solid infill/wall overlap"
msgstr "상하단 솔리드 채우기/벽 겹침"
@@ -12362,8 +12340,8 @@ msgstr "상하단 솔리드 채우기/벽 겹침"
#, no-c-format, no-boost-format
msgid ""
"Top solid infill area is enlarged slightly to overlap with wall for better "
-"bonding and to minimize the appearance of pinholes where the top infill "
-"meets the walls. A value of 25-30% is a good starting point, minimizing the "
+"bonding and to minimize the appearance of pinholes where the top infill meets "
+"the walls. A value of 25-30% is a good starting point, minimizing the "
"appearance of pinholes. The percentage value is relative to line width of "
"sparse infill"
msgstr ""
@@ -12386,8 +12364,8 @@ msgstr "접점 쉘"
msgid ""
"Force the generation of solid shells between adjacent materials/volumes. "
-"Useful for multi-extruder prints with translucent materials or manual "
-"soluble support material"
+"Useful for multi-extruder prints with translucent materials or manual soluble "
+"support material"
msgstr ""
"인접한 재료/압출 사이에 꽉찬 쉘을 강제로 생성합니다. 투명한 재료 또는 용해성 "
"서포트 재료를 사용하는 다중 압출기 출력에 유용합니다"
@@ -12409,8 +12387,8 @@ msgid ""
msgstr ""
"분할된 영역의 연동 깊이. \"mmu_segmented_region_max_width\"가 0이거나 "
"\"mmu_segmented_region_interlocking_length\"가 "
-"\"mmu_segmented_region_max_width\"보다 크면 무시됩니다. 0은 이 기능을 비활성"
-"화합니다."
+"\"mmu_segmented_region_max_width\"보다 크면 무시됩니다. 0은 이 기능을 비활성화"
+"합니다."
msgid "Use beam interlocking"
msgstr "인터로킹 빔 사용"
@@ -12421,8 +12399,8 @@ msgid ""
"models printed in different materials."
msgstr ""
"서로 다른 필라멘트가 접촉하는 곳에 맞물리는 구조의 인터로킹 빔을 생성합니다. "
-"이 기능은 필라멘트 간의 결합력을 향상시키며, 서로 다른 재료로 출력한 모델에 "
-"특히 유용합니다."
+"이 기능은 필라멘트 간의 결합력을 향상시키며, 서로 다른 재료로 출력한 모델에 특"
+"히 유용합니다."
msgid "Interlocking beam width"
msgstr "인터로킹 빔 너비"
@@ -12443,8 +12421,8 @@ msgid ""
"The height of the beams of the interlocking structure, measured in number of "
"layers. Less layers is stronger, but more prone to defects."
msgstr ""
-"맞물림 구조의 높이를 레이어 수로 나타낸 값입니다. 레이어 수가 적을수록 강도"
-"가 올라가나, 결함이 발생하기 더 쉬워집니다."
+"맞물림 구조의 높이를 레이어 수로 나타낸 값입니다. 레이어 수가 적을수록 강도가 "
+"올라가나, 결함이 발생하기 더 쉬워집니다."
msgid "Interlocking depth"
msgstr "맞물림 깊이"
@@ -12453,8 +12431,8 @@ msgid ""
"The distance from the boundary between filaments to generate interlocking "
"structure, measured in cells. Too few cells will result in poor adhesion."
msgstr ""
-"필라멘트 간의 접촉면으로부터 맞물림 구조를 생성할 거리를 셀의 수로 나타낸 값"
-"입니다. 너무 적은 수의 셀을 사용할 경우 결합력이 저하될 수 있습니다."
+"필라멘트 간의 접촉면으로부터 맞물림 구조를 생성할 거리를 셀의 수로 나타낸 값입"
+"니다. 너무 적은 수의 셀을 사용할 경우 결합력이 저하될 수 있습니다."
msgid "Interlocking boundary avoidance"
msgstr "맞물림 방지 거리"
@@ -12499,8 +12477,8 @@ msgid ""
"The amount of material to extrude during ironing. Relative to flow of normal "
"layer height. Too high value results in overextrusion on the surface"
msgstr ""
-"다림질 중에 압출할 재료의 양입니다. 정상 레이어 높이의 압출량에 상대적입니"
-"다. 값이 너무 높으면 표면에 과다 압출이 발생합니다"
+"다림질 중에 압출할 재료의 양입니다. 정상 레이어 높이의 압출량에 상대적입니다. "
+"값이 너무 높으면 표면에 과다 압출이 발생합니다"
msgid "Ironing line spacing"
msgstr "다림질 선 간격"
@@ -12530,11 +12508,11 @@ msgid ""
"The angle ironing is done at. A negative number disables this function and "
"uses the default method."
msgstr ""
-"다림질이 해당 각도에서 실행됩니다. 음수는 이 기능을 비활성화하고 기본값을 사"
-"용합니다."
+"다림질이 해당 각도에서 실행됩니다. 음수는 이 기능을 비활성화하고 기본값을 사용"
+"합니다."
msgid "This G-code is inserted at every layer change after the Z lift."
-msgstr "이 G코드는 Z올리기 이후 모든 레이어 변경에 삽입됩니다"
+msgstr "이 Gcode는 Z올리기 이후 모든 레이어 변경에 삽입됩니다"
msgid "Supports silent mode"
msgstr "무음 모드 지원"
@@ -12545,7 +12523,7 @@ msgid ""
msgstr "기기가 낮은 가속도를 사용하여 출력하는 무음 모드 지원 여부"
msgid "Emit limits to G-code"
-msgstr "G코드에 대한 방출 제한"
+msgstr "Gcode에 대한 방출 제한"
msgid "Machine limits"
msgstr "장치 한계"
@@ -12561,11 +12539,11 @@ msgid ""
"This G-code will be used as a code for the pause print. Users can insert "
"pause G-code in the G-code viewer."
msgstr ""
-"이 G코드는 출력 일시 정지를 위한 코드로 사용됩니다. 사용자는 Gcode 뷰어에서 "
-"일시 정지 G코드를 삽입할 수 있습니다"
+"이 Gcode는 출력 일시 정지를 위한 코드로 사용됩니다. 사용자는 Gcode 뷰어에서 일"
+"시 정지 Gcode를 삽입할 수 있습니다"
msgid "This G-code will be used as a custom code"
-msgstr "이 G코드는 사용자 정의 코드로 사용됩니다"
+msgstr "이 Gcode는 사용자 정의 코드로 사용됩니다"
msgid "Small area flow compensation (beta)"
msgstr "작은 영역 압출량 보상 (베타)"
@@ -12702,15 +12680,15 @@ msgid ""
"The highest printable layer height for the extruder. Used to limit the "
"maximum layer height when adaptive layer height is enabled."
msgstr ""
-"압출기의 출력 가능한 최대 레이어 높이입니다. 사용된 값은 적응형 레이어 높이"
-"를 활성화할 때 최대 레이어 높이를 제한합니다"
+"압출기의 출력 가능한 최대 레이어 높이입니다. 사용된 값은 적응형 레이어 높이를 "
+"활성화할 때 최대 레이어 높이를 제한합니다"
msgid "Extrusion rate smoothing"
msgstr "유연한 압출량"
msgid ""
-"This parameter smooths out sudden extrusion rate changes that happen when "
-"the printer transitions from printing a high flow (high speed/larger width) "
+"This parameter smooths out sudden extrusion rate changes that happen when the "
+"printer transitions from printing a high flow (high speed/larger width) "
"extrusion to a lower flow (lower speed/smaller width) extrusion and vice "
"versa.\n"
"\n"
@@ -12721,12 +12699,11 @@ msgid ""
"A value of 0 disables the feature.\n"
"\n"
"For a high speed, high flow direct drive printer (like the Bambu lab or "
-"Voron) this value is usually not needed. However it can provide some "
-"marginal benefit in certain cases where feature speeds vary greatly. For "
-"example, when there are aggressive slowdowns due to overhangs. In these "
-"cases a high value of around 300-350mm3/s2 is recommended as this allows for "
-"just enough smoothing to assist pressure advance achieve a smoother flow "
-"transition.\n"
+"Voron) this value is usually not needed. However it can provide some marginal "
+"benefit in certain cases where feature speeds vary greatly. For example, when "
+"there are aggressive slowdowns due to overhangs. In these cases a high value "
+"of around 300-350mm3/s2 is recommended as this allows for just enough "
+"smoothing to assist pressure advance achieve a smoother flow transition.\n"
"\n"
"For slower printers without pressure advance, the value should be set much "
"lower. A value of 10-15mm3/s2 is a good starting point for direct drive "
@@ -12736,9 +12713,9 @@ msgid ""
"\n"
"Note: this parameter disables arc fitting."
msgstr ""
-"이 매개변수는 프린터가 높은 압출량(고속/더 큰 너비) 압출에서 낮은 압출량(낮"
-"은 속도/더 작은 너비) 압출로 또는 그 반대로 출력할 때 발생하는 급격한 압출 속"
-"도 변화를 완화합니다.\n"
+"이 매개변수는 프린터가 높은 압출량(고속/더 큰 너비) 압출에서 낮은 압출량(낮은 "
+"속도/더 작은 너비) 압출로 또는 그 반대로 출력할 때 발생하는 급격한 압출 속도 "
+"변화를 완화합니다.\n"
"\n"
"이는 압출된 압출 압출량(mm3/초)이 시간에 따라 변할 수 있는 최대 속도를 정의합"
"니다. 값이 높을수록 더 높은 압출 속도 변경이 허용되어 속도 전환이 더 빨라진다"
@@ -12747,18 +12724,18 @@ msgstr ""
"값이 0이면 기능이 비활성화됩니다.\n"
"\n"
"고속, 고압출량 직접 구동 프린터(예: 뱀부랩 또는 보론)의 경우 일반적으로 이 값"
-"이 필요하지 않습니다. 그러나 기능 속도가 크게 달라지는 특정 경우에는 약간의 "
-"이점을 제공할 수 있습니다. 예를 들어 오버행로 인해 급격하게 감속이 발생하는 "
-"경우입니다. 이러한 경우 약 300-350mm3/s2의 높은 값이 권장됩니다. 이렇게 하면 "
-"프레셔 어드밴스가 더 부드러운 압출량 전환을 달성하는 데 도움이 될 만큼 충분"
-"히 매끄러워질 수 있기 때문입니다.\n"
+"이 필요하지 않습니다. 그러나 기능 속도가 크게 달라지는 특정 경우에는 약간의 이"
+"점을 제공할 수 있습니다. 예를 들어 오버행로 인해 급격하게 감속이 발생하는 경우"
+"입니다. 이러한 경우 약 300-350mm3/s2의 높은 값이 권장됩니다. 이렇게 하면 프레"
+"셔 어드밴스가 더 부드러운 압출량 전환을 달성하는 데 도움이 될 만큼 충분히 매끄"
+"러워질 수 있기 때문입니다.\n"
"\n"
"프레셔 어드밴스 기능이 없는 느린 프린터의 경우 값을 훨씬 낮게 설정해야 합니"
"다. 10-15mm3/s2 값은 직접 구동 압출기의 좋은 시작점이고 보우덴 스타일의 경우 "
"5-10mm3/s2입니다.\n"
"\n"
-"이 기능은 Prusa 슬라이서에서는 프레셔 이퀄라이저(Pressure Equalizer)로 알려"
-"져 있습니다.\n"
+"이 기능은 Prusa 슬라이서에서는 프레셔 이퀄라이저(Pressure Equalizer)로 알려져 "
+"있습니다.\n"
"\n"
"참고: 이 매개변수는 원호 피팅(Arc fitting)을 비활성화합니다."
@@ -12778,8 +12755,8 @@ msgid ""
"\n"
"Allowed values: 0.5-5"
msgstr ""
-"값이 낮을수록 압출 속도 전환이 더 부드러워집니다. 그러나 이 경우 g코드 파일"
-"이 상당히 커지고 프린터가 처리해야 할 지침이 더 많아집니다.\n"
+"값이 낮을수록 압출 속도 전환이 더 부드러워집니다. 그러나 이 경우 g코드 파일이 "
+"상당히 커지고 프린터가 처리해야 할 지침이 더 많아집니다.\n"
"\n"
"기본값인 3이 대부분의 경우에 적합합니다. 프린터가 끊기는 경우 이 값을 늘려 조"
"정 횟수를 줄이십시오.\n"
@@ -12792,8 +12769,8 @@ msgstr "외부 기능에만 적용"
msgid ""
"Applies extrusion rate smoothing only on external perimeters and overhangs. "
"This can help reduce artefacts due to sharp speed transitions on externally "
-"visible overhangs without impacting the print speed of features that will "
-"not be visible to the user."
+"visible overhangs without impacting the print speed of features that will not "
+"be visible to the user."
msgstr ""
"외부 경계와 오버행에만 돌출 속도 평활화를 적용합니다. 이렇게 하면 사용자에게 "
"보이지 않는 피처의 출력 속도에는 영향을 주지 않으면서 외부에 보이는 오버행의 "
@@ -12811,8 +12788,8 @@ msgid ""
msgstr ""
"보조 출력물 냉각팬의 속도. 냉각 레이어가 없는 것으로 정의된 처음 여러 레이어"
"를 제외하고 출력 중에 보조 팬이 이 속도로 작동합니다.\n"
-"이 기능을 사용하려면 프린터 설정에서 보조 팬을 활성화하세요. Gcode 명령: "
-"M106 P2 S(0-255)"
+"이 기능을 사용하려면 프린터 설정에서 보조 팬을 활성화하세요. Gcode 명령: M106 "
+"P2 S(0-255)"
msgid "Min"
msgstr "최소"
@@ -12821,8 +12798,8 @@ msgid ""
"The lowest printable layer height for the extruder. Used to limit the "
"minimum layer height when adaptive layer height is enabled."
msgstr ""
-"압출기의 출력 가능한 최저 레이어 높이입니다. 사용된 값은 적응형 레이어 높이"
-"를 활성화할 때 최소 레이어 높이를 제한합니다"
+"압출기의 출력 가능한 최저 레이어 높이입니다. 사용된 값은 적응형 레이어 높이를 "
+"활성화할 때 최소 레이어 높이를 제한합니다"
msgid "Min print speed"
msgstr "최소 출력 속도"
@@ -12845,8 +12822,7 @@ msgid ""
"You can put here your personal notes. This text will be added to the G-code "
"header comments."
msgstr ""
-"여기에 개인 메모를 넣을 수 있습니다. 이 텍스트는 Gcode 헤더 설명에 추가됩니"
-"다."
+"여기에 개인 메모를 넣을 수 있습니다. 이 텍스트는 Gcode 헤더 설명에 추가됩니다."
msgid "Host Type"
msgstr "호스트 유형"
@@ -12884,9 +12860,9 @@ msgid ""
"filament exchange sequence to allow for rapid ramming feed rates and to "
"overcome resistance when loading a filament with an ugly shaped tip."
msgstr ""
-"필라멘트 교체 순서 중에 압출기 모터 전류를 증가시켜 빠른 채워넣기 공급 속도"
-"를 허용하고 보기 흉한 모양의 팁이 있는 필라멘트를 로드할 때 저항을 극복하는 "
-"데 이점이 있습니다."
+"필라멘트 교체 순서 중에 압출기 모터 전류를 증가시켜 빠른 채워넣기 공급 속도를 "
+"허용하고 보기 흉한 모양의 팁이 있는 필라멘트를 로드할 때 저항을 극복하는 데 이"
+"점이 있습니다."
msgid "Filament parking position"
msgstr "필라멘트 주차 위치"
@@ -12904,8 +12880,8 @@ msgstr "추가 압출 거리"
msgid ""
"When set to zero, the distance the filament is moved from parking position "
"during load is exactly the same as it was moved back during unload. When "
-"positive, it is loaded further, if negative, the loading move is shorter "
-"than unloading."
+"positive, it is loaded further, if negative, the loading move is shorter than "
+"unloading."
msgstr ""
"0으로 설정하면 압출 중에 필라멘트가 파킹 위치에서 이동한 거리는 언로드 중에 다"
"시 이동한 거리와 정확히 동일합니다. 양수이면 더 많이 압출되고, 음수이면 압출 "
@@ -12922,8 +12898,8 @@ msgstr "채우기 후퇴 감소"
msgid ""
"Don't retract when the travel is in infill area absolutely. That means the "
-"oozing can't been seen. This can reduce times of retraction for complex "
-"model and save printing time, but make slicing and G-code generating slower"
+"oozing can't been seen. This can reduce times of retraction for complex model "
+"and save printing time, but make slicing and G-code generating slower"
msgstr ""
"이동 구간이 채우기 영역에 있을 때 수축하지 마십시오. 즉, 스며드는 것을 볼 수 "
"없습니다. 이는 복잡한 모델의 후퇴 시간을 줄이고 출력 시간을 절약할 수 있지만 "
@@ -12954,16 +12930,16 @@ msgid ""
"printable.90° will not change the model at all and allow any overhang, while "
"0 will replace all overhangs with conical material."
msgstr ""
-"더 가파른 오버행를 출력할 수 있게 허용되는 오버행의 최대 각도. 90°는 형상을 "
-"전혀 변경하지 않고 오버행를 허용하는 반면, 0은 모든 오버행를 원뿔형 재료로 대"
-"체합니다."
+"더 가파른 오버행를 출력할 수 있게 허용되는 오버행의 최대 각도. 90°는 형상을 전"
+"혀 변경하지 않고 오버행를 허용하는 반면, 0은 모든 오버행를 원뿔형 재료로 대체"
+"합니다."
msgid "Make overhangs printable - Hole area"
msgstr "오버행 형상 변경 구멍 영역"
msgid ""
-"Maximum area of a hole in the base of the model before it's filled by "
-"conical material. A value of 0 will fill all the holes in the model base."
+"Maximum area of a hole in the base of the model before it's filled by conical "
+"material. A value of 0 will fill all the holes in the model base."
msgstr ""
"원뿔형 재료로 채워지기 전에 모델 베이스에 있는 구멍의 최대 면적입니다. 값이 0"
"이면 모델 베이스의 모든 구멍이 채워집니다."
@@ -12976,8 +12952,8 @@ msgstr "오버행 벽 감지"
#, c-format, boost-format
msgid ""
-"Detect the overhang percentage relative to line width and use different "
-"speed to print. For 100%% overhang, bridge speed is used."
+"Detect the overhang percentage relative to line width and use different speed "
+"to print. For 100%% overhang, bridge speed is used."
msgstr ""
"선 너비에 비례하여 오버행 백분율을 감지하고 다른 속도를 사용하여 출력합니다. "
"100%% 오버행의 경우 브릿지 속도가 사용됩니다."
@@ -13003,8 +12979,8 @@ msgid ""
"This setting adds an extra wall to every other layer. This way the infill "
"gets wedged vertically between the walls, resulting in stronger prints.\n"
"\n"
-"When this option is enabled, the ensure vertical shell thickness option "
-"needs to be disabled.\n"
+"When this option is enabled, the ensure vertical shell thickness option needs "
+"to be disabled.\n"
"\n"
"Using lightning infill together with this option is not recommended as there "
"is limited infill to anchor the extra perimeters to."
@@ -13024,7 +13000,7 @@ msgid ""
"argument, and they can access the Orca Slicer config settings by reading "
"environment variables."
msgstr ""
-"사용자 정의 스크립트를 통해 출력 G코드를 처리하려면 여기에 절대 경로를 나열하"
+"사용자 정의 스크립트를 통해 출력 Gcode를 처리하려면 여기에 절대 경로를 나열하"
"세요. 여러 스크립트는 세미콜론(;)으로 구분합니다. 스크립트는 Gcode 파일의 절"
"대 경로를 첫 번째 값으로 전달하며 환경 변수를 읽어 Orca Slicer 구성 설정에 접"
"근할 수 있습니다."
@@ -13079,20 +13055,19 @@ msgstr ""
"(워핑)을 방지합니다"
msgid ""
-"The G-code path is generated after simplifying the contour of models to "
-"avoid too many points and G-code lines. Smaller value means higher "
-"resolution and more time to slice."
+"The G-code path is generated after simplifying the contour of models to avoid "
+"too many points and G-code lines. Smaller value means higher resolution and "
+"more time to slice."
msgstr ""
-"Gcode 경로는 Gcode 파일에서 너무 많은 점과 Gcode 라인을 방지하기 위해 모델의 "
-"윤곽을 단순화한 후 생성됩니다. 작은 값은 높은 해상도와 많은 슬라이스 시간을 "
-"의미합니다"
+"Gcode 경로는 너무 많은 점과 Gcode 선을 피하기 위해 모델의 윤곽을 단순화한 후 "
+"생성됩니다. 값이 작을수록 해상도가 높아지고 슬라이스에 더 많은 시간이 소요됩니"
+"다."
msgid "Travel distance threshold"
msgstr "이동 거리 임계값"
msgid ""
-"Only trigger retraction when the travel distance is longer than this "
-"threshold"
+"Only trigger retraction when the travel distance is longer than this threshold"
msgstr "이동 거리가 이 임계값보다 긴 경우에만 후퇴를 실행합니다"
msgid "Retract amount before wipe"
@@ -13101,9 +13076,9 @@ msgstr "노즐 청소 전 후퇴량"
msgid ""
"The length of fast retraction before wipe, relative to retraction length"
msgstr ""
-"후퇴 길이에 비례한 노즐 청소 전 후퇴량(노즐 청소를 시작하기 전에 일부 필라멘"
-"트를 후퇴시키면 노즐 끝에 녹아있는 소량의 필라멘트만 남게되어 추가 누수 위험"
-"이 줄어들 수 있습니다)"
+"후퇴 길이에 비례한 노즐 청소 전 후퇴량(노즐 청소를 시작하기 전에 일부 필라멘트"
+"를 후퇴시키면 노즐 끝에 녹아있는 소량의 필라멘트만 남게되어 추가 누수 위험이 "
+"줄어들 수 있습니다)"
msgid "Retract when change layer"
msgstr "레이어 변경 시 후퇴"
@@ -13140,9 +13115,9 @@ msgid ""
"significantly, it may also raise the risk of nozzle clogs or other printing "
"problems."
msgstr ""
-"실험적 기능. 퍼지를 최소화하기 위해 변경하는 동안 더 먼 거리에서 필라멘트를 "
-"집어넣고 절단합니다. 이렇게 하면 플러시가 크게 줄어들지만 노즐 막힘이나 기타 "
-"출력 문제가 발생할 위험이 높아질 수도 있습니다."
+"실험적 기능. 퍼지를 최소화하기 위해 변경하는 동안 더 먼 거리에서 필라멘트를 집"
+"어넣고 절단합니다. 이렇게 하면 플러시가 크게 줄어들지만 노즐 막힘이나 기타 출"
+"력 문제가 발생할 위험이 높아질 수도 있습니다."
msgid "Retraction distance when cut"
msgstr "절단 시 후퇴 거리"
@@ -13150,7 +13125,7 @@ msgstr "절단 시 후퇴 거리"
msgid ""
"Experimental feature: Retraction length before cutting off during filament "
"change."
-msgstr "실험적 기능. 필라멘트 교체 시 절단 전 후퇴 길이"
+msgstr "실험적 기능. 필라멘트 교체 시 절단 전 후퇴 길이."
msgid "Z-hop height"
msgstr "Z올리기 높이"
@@ -13171,8 +13146,8 @@ msgid ""
"Z-hop will only come into effect when Z is above this value and is below the "
"parameter: \"Z-hop upper boundary\"."
msgstr ""
-"Z 올리기는 Z가 이 값보다 크고 \"Z 올리기 상한 경계\" 매개변수 아래인 경우에"
-"만 적용됩니다."
+"Z 올리기는 Z가 이 값보다 크고 \"Z 올리기 상한 경계\" 매개변수 아래인 경우에만 "
+"적용됩니다."
msgid "Z-hop upper boundary"
msgstr "Z 올리기 상한 경계"
@@ -13197,11 +13172,11 @@ msgid "Traveling angle"
msgstr "이동 각도"
msgid ""
-"Traveling angle for Slope and Spiral Z-hop type. Setting it to 90° results "
-"in Normal Lift."
+"Traveling angle for Slope and Spiral Z-hop type. Setting it to 90° results in "
+"Normal Lift."
msgstr ""
-"경사나 나선형 Z 올리기 유형에 사용할 이동 각도입니다. 90°로 설정할 경우 일반"
-"적인 Z 올리기가 적용됩니다"
+"경사나 나선형 Z 올리기 유형에 사용할 이동 각도입니다. 90°로 설정할 경우 일반적"
+"인 Z 올리기가 적용됩니다."
msgid "Only lift Z above"
msgstr "Z값 위에서만 올리기"
@@ -13210,8 +13185,7 @@ msgid ""
"If you set this to a positive value, Z lift will only take place above the "
"specified absolute Z."
msgstr ""
-"이 값을 양의 값으로 설정하면 Z 올리기는 지정된 Z의 절대값 위에서만 발생합니"
-"다."
+"이 값을 양의 값으로 설정하면 Z 올리기는 지정된 Z의 절대값 위에서만 발생합니다."
msgid "Only lift Z below"
msgstr "Z값 아래에서만 올리기"
@@ -13230,8 +13204,8 @@ msgid ""
"Enforce Z-Hop behavior. This setting is impacted by the above settings (Only "
"lift Z above/below)."
msgstr ""
-"Z 올리기 동작을 수행합니다. 이 설정은 위의 설정의 영향을 받습니다 (위에서/아"
-"래에서만 Z 올리기)."
+"Z 올리기 동작을 수행합니다. 이 설정은 위의 설정의 영향을 받습니다 (위에서/아래"
+"에서만 Z 올리기)."
msgid "All Surfaces"
msgstr "모든 표면"
@@ -13295,7 +13269,7 @@ msgstr "설정된 남은 출력 시간 비활성화"
msgid ""
"Disable generating of the M73: Set remaining print time in the final G-code."
-msgstr "M73 생성 비활성화: 최종 G코드에 남은 출력 시간 설정"
+msgstr "M73 생성 비활성화: 최종 Gcode에 남은 출력 시간을 설정합니다."
msgid "Seam position"
msgstr "재봉선 위치"
@@ -13329,15 +13303,15 @@ msgid "Seam gap"
msgstr "재봉선 간격"
msgid ""
-"In order to reduce the visibility of the seam in a closed loop extrusion, "
-"the loop is interrupted and shortened by a specified amount.\n"
-"This amount can be specified in millimeters or as a percentage of the "
-"current extruder diameter. The default value for this parameter is 10%."
+"In order to reduce the visibility of the seam in a closed loop extrusion, the "
+"loop is interrupted and shortened by a specified amount.\n"
+"This amount can be specified in millimeters or as a percentage of the current "
+"extruder diameter. The default value for this parameter is 10%."
msgstr ""
"폐쇄 루프 압출에서 재봉선의 가시성을 줄이기 위해 루프가 중단되고 지정된 양만"
"큼 짧아집니다.\n"
-"이 양은 mm로 지정하거나 현재 압출기 직경의 백분율로 지정할 수 있습니"
-"다. 이 매개 변수의 기본값은 10%입니다."
+"이 양은 mm로 지정하거나 현재 압출기 직경의 백분율로 지정할 수 있습니다. 이 매"
+"개 변수의 기본값은 10%입니다."
msgid "Scarf joint seam (beta)"
msgstr "스카프 조인트 재봉선(베타)"
@@ -13363,9 +13337,9 @@ msgstr "조건부 각도 임계값"
msgid ""
"This option sets the threshold angle for applying a conditional scarf joint "
"seam.\n"
-"If the maximum angle within the perimeter loop exceeds this value "
-"(indicating the absence of sharp corners), a scarf joint seam will be used. "
-"The default value is 155°."
+"If the maximum angle within the perimeter loop exceeds this value (indicating "
+"the absence of sharp corners), a scarf joint seam will be used. The default "
+"value is 155°."
msgstr ""
"이 옵션은 조건부 스카프 접합 재봉선를 적용하기 위한 임계값 각도를 설정합니"
"다.\n"
@@ -13379,35 +13353,34 @@ msgstr "조건부 오버행 임계값"
msgid ""
"This option determines the overhang threshold for the application of scarf "
"joint seams. If the unsupported portion of the perimeter is less than this "
-"threshold, scarf joint seams will be applied. The default threshold is set "
-"at 40% of the external wall's width. Due to performance considerations, the "
+"threshold, scarf joint seams will be applied. The default threshold is set at "
+"40% of the external wall's width. Due to performance considerations, the "
"degree of overhang is estimated."
msgstr ""
-"이 옵션은 스카프 조인트 이음새 적용을 위한 돌출 임계값을 결정합니다. 둘레의 "
-"지지되지 않은 부분이 이 임계값보다 작으면 스카프 조인트 심이 적용됩니다. 기"
-"본 임계값은 외벽 너비의 40% of로 설정됩니다. 성능 고려 사항으로 인해 돌출 정"
-"도가 추정됩니다."
+"이 옵션은 스카프 조인트 이음새 적용을 위한 돌출 임계값을 결정합니다. 둘레의 지"
+"지되지 않은 부분이 이 임계값보다 작으면 스카프 조인트 심이 적용됩니다. 기본 임"
+"계값은 외벽 너비의 40% of로 설정됩니다. 성능 고려 사항으로 인해 돌출 정도가 추"
+"정됩니다."
msgid "Scarf joint speed"
msgstr "스카프 조인트 속도"
msgid ""
"This option sets the printing speed for scarf joints. It is recommended to "
-"print scarf joints at a slow speed (less than 100 mm/s). It's also "
-"advisable to enable 'Extrusion rate smoothing' if the set speed varies "
-"significantly from the speed of the outer or inner walls. If the speed "
-"specified here is higher than the speed of the outer or inner walls, the "
-"printer will default to the slower of the two speeds. When specified as a "
-"percentage (e.g., 80%), the speed is calculated based on the respective "
-"outer or inner wall speed. The default value is set to 100%."
+"print scarf joints at a slow speed (less than 100 mm/s). It's also advisable "
+"to enable 'Extrusion rate smoothing' if the set speed varies significantly "
+"from the speed of the outer or inner walls. If the speed specified here is "
+"higher than the speed of the outer or inner walls, the printer will default "
+"to the slower of the two speeds. When specified as a percentage (e.g., 80%), "
+"the speed is calculated based on the respective outer or inner wall speed. "
+"The default value is set to 100%."
msgstr ""
"이 옵션은 스카프 조인트의 출력 속도를 설정합니다. 스카프 조인트를 느린 속도"
"(100mm/s 미만)로 출력하는 것이 좋습니다. 또한 설정 속도가 외벽 또는 내벽의 속"
-"도와 크게 다른 경우 '압출 속도 평탄화'를 활성화하는 것이 좋습니다. 여기에 지"
-"정된 속도가 외부 또는 내부 벽의 속도보다 높을 경우 프린터는 기본적으로 두 가"
-"지 속도 중 더 느린 속도로 설정됩니다. 백분율(예: 80%)로 지정되면 속도는 각각"
-"의 외부 또는 내부 벽 속도를 기준으로 계산됩니다. 기본값은 100%로 설정되어 있"
-"습니다."
+"도와 크게 다른 경우 '압출 속도 평탄화'를 활성화하는 것이 좋습니다. 여기에 지정"
+"된 속도가 외부 또는 내부 벽의 속도보다 높을 경우 프린터는 기본적으로 두 가지 "
+"속도 중 더 느린 속도로 설정됩니다. 백분율(예: 80%)로 지정되면 속도는 각각의 외"
+"부 또는 내부 벽 속도를 기준으로 계산됩니다. 기본값은 100%로 설정되어 있습니다."
msgid "Scarf joint flow ratio"
msgstr "스카프 조인트 압출량 비율"
@@ -13420,12 +13393,12 @@ msgstr "스카프 시작 높이"
msgid ""
"Start height of the scarf.\n"
-"This amount can be specified in millimeters or as a percentage of the "
-"current layer height. The default value for this parameter is 0."
+"This amount can be specified in millimeters or as a percentage of the current "
+"layer height. The default value for this parameter is 0."
msgstr ""
"스카프의 시작 높이.\n"
-"이 양은 mm 또는 현재 레이어 높이의 백분율로 지정할 수 있습니다. 이 매개"
-"변수의 기본값은 0입니다."
+"이 양은 mm 또는 현재 레이어 높이의 백분율로 지정할 수 있습니다. 이 매개변수의 "
+"기본값은 0입니다."
msgid "Scarf around entire wall"
msgstr "전체 벽 주위에 스카프"
@@ -13463,7 +13436,7 @@ msgid ""
"if a wipe action is executed immediately following an outer wall extrusion, "
"the speed of the outer wall extrusion will be utilized for the wipe action."
msgstr ""
-"노즐 청소 속도는 현재 압출기의 속도에 따라 결정됩니다. ex)외벽 압출 직후에 노"
+"노즐 청소 속도는 현재 압출기의 속도에 따라 결정됩니다. 예)외벽 압출 직후에 노"
"즐 청소 동작을 실행하면 외벽 압출 속도가 노즐 청소에 사용됩니다."
msgid "Wipe on loops"
@@ -13473,30 +13446,30 @@ msgid ""
"To minimize the visibility of the seam in a closed loop extrusion, a small "
"inward movement is executed before the extruder leaves the loop."
msgstr ""
-"폐쇄 루프 압출에서 재봉선의 가시성을 최소화하기 위해 압출기가 루프를 떠나기 "
-"전에 안쪽으로의 작은 이동이 실행됩니다."
+"폐쇄 루프 압출에서 재봉선의 가시성을 최소화하기 위해 압출기가 루프를 떠나기 전"
+"에 안쪽으로의 작은 이동이 실행됩니다."
msgid "Wipe before external loop"
msgstr "외부 루프 전 닦아내기"
msgid ""
-"To minimize visibility of potential overextrusion at the start of an "
-"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall "
-"print order, the de-retraction is performed slightly on the inside from the "
-"start of the external perimeter. That way any potential over extrusion is "
-"hidden from the outside surface.\n"
+"To minimize visibility of potential overextrusion at the start of an external "
+"perimeter when printing with Outer/Inner or Inner/Outer/Inner wall print "
+"order, the de-retraction is performed slightly on the inside from the start "
+"of the external perimeter. That way any potential over extrusion is hidden "
+"from the outside surface.\n"
"\n"
-"This is useful when printing with Outer/Inner or Inner/Outer/Inner wall "
-"print order as in these modes it is more likely an external perimeter is "
-"printed immediately after a de-retraction move."
+"This is useful when printing with Outer/Inner or Inner/Outer/Inner wall print "
+"order as in these modes it is more likely an external perimeter is printed "
+"immediately after a de-retraction move."
msgstr ""
"외부/내부 또는 내부/외부/내부 벽 출력 순서로 출력할 때 외부 둘레 시작 부분에"
"서 잠재적인 과잉 압출의 가시성을 최소화하기 위해 외부 둘레 시작 부분에서 내부"
"에 후퇴가 약간 수행됩니다. 이렇게 하면 압출에 대한 모든 잠재력이 외부 표면에"
"서 숨겨집니다.\n"
"\n"
-"외부/내부 또는 내부/외부/내부 벽 출력 순서로 출력할 때 유용합니다. 이러한 모"
-"드에서는 후퇴 이동 직후 외부 둘레가 출력될 가능성이 더 높기 때문입니다."
+"외부/내부 또는 내부/외부/내부 벽 출력 순서로 출력할 때 유용합니다. 이러한 모드"
+"에서는 후퇴 이동 직후 외부 둘레가 출력될 가능성이 더 높기 때문입니다."
msgid "Wipe speed"
msgstr "노즐 청소 속도"
@@ -13508,8 +13481,8 @@ msgid ""
"this parameter is 80%."
msgstr ""
"노즐 청소 속도는 이 구성에 지정된 속도 설정에 따라 결정됩니다. 값이 백분율"
-"(예: 80%)로 표시되면 이동 속도 설정을 기준으로 계산됩니다. 이 매개 변수의 기"
-"본값은 80%입니다"
+"(예: 80%)로 표시되면 이동 속도 설정을 기준으로 계산됩니다. 이 매개 변수의 기본"
+"값은 80%입니다."
msgid "Skirt distance"
msgstr "스커트 거리"
@@ -13524,16 +13497,16 @@ msgid ""
"Angle from the object center to skirt start point. Zero is the most right "
"position, counter clockwise is positive angle."
msgstr ""
-"객체 중심에서 스커트 시작점까지의 각도입니다. 0은 가장 올바른 위치이고 시계 "
-"반대 방향은 양의 각도입니다."
+"객체 중심에서 스커트 시작점까지의 각도입니다. 0은 가장 올바른 위치이고 시계 반"
+"대 방향은 양의 각도입니다."
msgid "Skirt height"
msgstr "스커트 높이"
msgid "How many layers of skirt. Usually only one layer"
msgstr ""
-"얼마나 많은 스커트 레이어를 생성할지 결정합니다. 일반적으로 한개의 레이어를 "
-"사용합니다"
+"얼마나 많은 스커트 레이어를 생성할지 결정합니다. 일반적으로 한개의 레이어를 사"
+"용합니다"
msgid "Single loop draft shield"
msgstr "단일 루프 드래프트 실드"
@@ -13561,14 +13534,14 @@ msgid ""
"with them. To avoid this, increase the skirt distance value.\n"
msgstr ""
"드래프트 실드는 바람으로 인해 ABS 또는 ASA 출력물이 뒤틀리거나 출력 베드에서 "
-"분리되는 것을 방지하는 데 유용합니다. 일반적으로 오픈 프레임 프린터, 즉 인클"
-"로저가 없는 경우에만 필요합니다.\n"
+"분리되는 것을 방지하는 데 유용합니다. 일반적으로 오픈 프레임 프린터, 즉 인클로"
+"저가 없는 경우에만 필요합니다.\n"
"\n"
-"활성화 = 스커트가 가장 높은 출력물의 높이와 같습니다. 그렇지 않으면 '스커트 "
-"높이'가 사용됩니다.\n"
+"활성화 = 스커트가 가장 높은 출력물의 높이와 같습니다. 그렇지 않으면 '스커트 높"
+"이'가 사용됩니다.\n"
"참고: 드래프트 실드가 활성화되면 스커트는 객체로부터 스커트 거리에 출력됩니"
-"다. 따라서 챙이 활성화된 경우 챙과 교차할 수 있습니다. 이를 방지하려면 스커"
-"트 거리 값을 늘리십시오.\n"
+"다. 따라서 챙이 활성화된 경우 챙과 교차할 수 있습니다. 이를 방지하려면 스커트 "
+"거리 값을 늘리십시오.\n"
msgid "Enabled"
msgstr "활성화"
@@ -13577,8 +13550,7 @@ msgid "Skirt type"
msgstr "스커트 유형"
msgid ""
-"Combined - single skirt for all objects, Per object - individual object "
-"skirt."
+"Combined - single skirt for all objects, Per object - individual object skirt."
msgstr "결합 - 모든 객체에 대한 단일 스커트, 객체별 - 개별 객체 스커트."
msgid "Combined"
@@ -13611,8 +13583,8 @@ msgid ""
"Final number of loops is not taking into account while arranging or "
"validating objects distance. Increase loop number in such case."
msgstr ""
-"스커트를 출력할 때 최소 필라멘트 압출 길이(mm)입니다. 0은 이 기능이 비활성화"
-"되었음을 의미합니다.\n"
+"스커트를 출력할 때 최소 필라멘트 압출 길이(mm)입니다. 0은 이 기능이 비활성화되"
+"었음을 의미합니다.\n"
"\n"
"프린터가 프라임 라인 없이 출력하도록 설정된 경우 0이 아닌 값을 사용하는 것이 "
"유용합니다.\n"
@@ -13624,8 +13596,8 @@ msgid ""
"layer time is shorter than this value in order to get better cooling for "
"these layers."
msgstr ""
-"G코드의 출력 속도는 예상 레이어 시간이 이 값보다 짧은 경우 레이어의 냉각을 개"
-"선하기 위해 느려집니다"
+"Gcode의 출력 속도는 예상 레이어 시간이 이 값보다 짧은 경우 레이어의 냉각을 개"
+"선하기 위해 느려집니다."
msgid "Minimum sparse infill threshold"
msgstr "최소 드문 채우기 임계값"
@@ -13642,8 +13614,8 @@ msgid "Filament to print solid infill"
msgstr "솔리드 인필을 출력하는 필라멘트"
msgid ""
-"Line width of internal solid infill. If expressed as a %, it will be "
-"computed over the nozzle diameter."
+"Line width of internal solid infill. If expressed as a %, it will be computed "
+"over the nozzle diameter."
msgstr ""
"꽉찬 내부 채우기 선 너비. %로 입력 시 노즐 직경에 대한 비율로 계산됩니다."
@@ -13662,8 +13634,8 @@ msgid "Smooth Spiral"
msgstr "부드러운 나선형"
msgid ""
-"Smooth Spiral smooths out X and Y moves as well, resulting in no visible "
-"seam at all, even in the XY directions on walls that are not vertical"
+"Smooth Spiral smooths out X and Y moves as well, resulting in no visible seam "
+"at all, even in the XY directions on walls that are not vertical"
msgstr ""
"부드러운 나선형은 X와 Y의 움직임을 매끄럽게 처리하여 수직이 아닌 벽의 XY 방향"
"에서도 이음새가 전혀 보이지 않습니다"
@@ -13676,8 +13648,8 @@ msgid ""
"Maximum distance to move points in XY to try to achieve a smooth spiral. If "
"expressed as a %, it will be computed over nozzle diameter"
msgstr ""
-"부드러운 나선형을 얻기 위해 점을 XY로 이동하는 최대 거리 %로 표시할 경우 노"
-"즐 직경에 대해 계산됩니다"
+"부드러운 나선형을 얻기 위해 점을 XY로 이동하는 최대 거리 %로 표시할 경우 노즐 "
+"직경에 대해 계산됩니다"
msgid "Spiral starting flow ratio"
msgstr "나선형 시작 유량비"
@@ -13686,8 +13658,8 @@ msgstr "나선형 시작 유량비"
msgid ""
"Sets the starting flow ratio while transitioning from the last bottom layer "
"to the spiral. Normally the spiral transition scales the flow ratio from 0% "
-"to 100% during the first loop which can in some cases lead to under "
-"extrusion at the start of the spiral."
+"to 100% during the first loop which can in some cases lead to under extrusion "
+"at the start of the spiral."
msgstr ""
"마지막 하단 레이어에서 나선형으로 전환하는 동안 시작 압출량 비율을 설정합니"
"다. 일반적으로 나선형 전환은 첫 번째 루프 동안 압출량 비율을 0% 에서 100% 로 "
@@ -13696,32 +13668,31 @@ msgstr ""
msgid "Spiral finishing flow ratio"
msgstr "나선형 종료 유량비"
-#, fuzzy, no-c-format, no-boost-format
+#, no-c-format, no-boost-format
msgid ""
"Sets the finishing flow ratio while ending the spiral. Normally the spiral "
"transition scales the flow ratio from 100% to 0% during the last loop which "
"can in some cases lead to under extrusion at the end of the spiral."
msgstr ""
-"나선형을 끝내는 동안 마무리 압출량을 설정합니다. 일반적으로 나선형 전환은 마"
-"지막 루프 동안 압출량 비율을 100% 에서 0% 로 스케일링하므로 경우에 따라 나선"
-"형 끝에서 압출이 미달될 수 있습니다."
+"나선형을 끝내는 동안 마무리 압출량을 설정합니다. 일반적으로 나선형 전환은 마지"
+"막 루프 동안 압출량 비율을 100% 에서 0% 로 스케일링하므로 경우에 따라 나선형 "
+"끝에서 압출이 미달될 수 있습니다."
msgid ""
"If smooth or traditional mode is selected, a timelapse video will be "
"generated for each print. After each layer is printed, a snapshot is taken "
-"with the chamber camera. All of these snapshots are composed into a "
-"timelapse video when printing completes. If smooth mode is selected, the "
-"toolhead will move to the excess chute after each layer is printed and then "
-"take a snapshot. Since the melt filament may leak from the nozzle during the "
-"process of taking a snapshot, prime tower is required for smooth mode to "
-"wipe nozzle."
+"with the chamber camera. All of these snapshots are composed into a timelapse "
+"video when printing completes. If smooth mode is selected, the toolhead will "
+"move to the excess chute after each layer is printed and then take a "
+"snapshot. Since the melt filament may leak from the nozzle during the process "
+"of taking a snapshot, prime tower is required for smooth mode to wipe nozzle."
msgstr ""
"유연 또는 기존 모드를 선택한 경우 각 출력에 대해 타임랩스 비디오가 생성됩니"
-"다. 각 레이어가 출력된 후 챔버 카메라로 스냅샷을 찍습니다. 이 모든 스냅샷은 "
-"출력이 완료되면 타임랩스 비디오로 구성됩니다. 유연 모드를 선택하면 각 레이어"
-"가 출력된 후 툴 헤드가 여유 공간으로 이동한 다음 스냅샷을 찍습니다. 스냅샷을 "
-"찍는 과정에서 노즐에서 녹은 필라멘트가 새어 나올 수 있기 때문에 유연 모드에"
-"서 노즐을 닦으려면 프라임 타워가 필요합니다."
+"다. 각 레이어가 출력된 후 챔버 카메라로 스냅샷을 찍습니다. 이 모든 스냅샷은 출"
+"력이 완료되면 타임랩스 비디오로 구성됩니다. 유연 모드를 선택하면 각 레이어가 "
+"출력된 후 툴 헤드가 여유 공간으로 이동한 다음 스냅샷을 찍습니다. 스냅샷을 찍"
+"는 과정에서 노즐에서 녹은 필라멘트가 새어 나올 수 있기 때문에 유연 모드에서 노"
+"즐을 닦으려면 프라임 타워가 필요합니다."
msgid "Traditional"
msgstr "기존"
@@ -13732,8 +13703,8 @@ msgstr "온도 가변"
#. TRN PrintSettings : "Ooze prevention" > "Temperature variation"
msgid ""
"Temperature difference to be applied when an extruder is not active. The "
-"value is not used when 'idle_temperature' in filament settings is set to "
-"non-zero value."
+"value is not used when 'idle_temperature' in filament settings is set to non-"
+"zero value."
msgstr ""
"압출기가 작동하지 않을 때 적용되는 온도차입니다. 필라멘트 설정의 "
"'idle_temp'가 0이 아닌 값으로 설정된 경우 해당 값은 사용되지 않습니다."
@@ -13748,8 +13719,8 @@ msgid ""
"the tool in advance."
msgstr ""
"툴 체인지 후 대기 시간을 줄이기 위해 Orca는 현재 도구가 계속 사용되는 동안 다"
-"음 도구를 예열할 수 있습니다. 이 설정은 다음 도구를 예열하는 시간을 초 단위"
-"로 지정합니다. Orca는 도구를 미리 예열하기 위해 M104 명령을 삽입합니다."
+"음 도구를 예열할 수 있습니다. 이 설정은 다음 도구를 예열하는 시간을 초 단위로 "
+"지정합니다. Orca는 도구를 미리 예열하기 위해 M104 명령을 삽입합니다."
msgid "Preheat steps"
msgstr "예열 단계"
@@ -13765,7 +13736,7 @@ msgid "Start G-code"
msgstr "시작 Gcode"
msgid "Start G-code when starting the entire print."
-msgstr "전체 출력을 시작할 때의 시작 Gcode"
+msgstr "출력을 시작할 때의 Gcode"
msgid "Start G-code when starting the printing of this filament."
msgstr "이 필라멘트의 출력을 시작할 때의 시작 Gcode"
@@ -13786,10 +13757,10 @@ msgid ""
"printing, where we use M600/PAUSE to trigger the manual filament change "
"action."
msgstr ""
-"출력 시작 시에만 사용자 정의 필라멘트 변경 G코드를 생략하려면 이 옵션을 활성"
-"화합니다. 툴 변경 명령(예: T0)은 전체 출력 과정에서 건너뜁니다. 이는 M600/"
-"PAUSE를 사용하여 수동 필라멘트 교체 작업을 실행하는 수동 다중 재료 출력에 유"
-"용합니다."
+"출력 시작 시에만 사용자 정의 필라멘트 변경 Gcode를 생략하려면 이 옵션을 활성화"
+"합니다. 툴 변경 명령(예: T0)은 전체 출력 과정에서 건너뜁니다. 이는 M600/PAUSE"
+"를 사용하여 수동 필라멘트 교체 작업을 실행하는 수동 다중 재료 출력에 유용합니"
+"다."
msgid "Purge in prime tower"
msgstr "프라임 타워에서 청소"
@@ -13805,13 +13776,13 @@ msgstr "희소 레이어 없음(베타)"
msgid ""
"If enabled, the wipe tower will not be printed on layers with no tool "
-"changes. On layers with a tool change, extruder will travel downward to "
-"print the wipe tower. User is responsible for ensuring there is no collision "
-"with the print."
+"changes. On layers with a tool change, extruder will travel downward to print "
+"the wipe tower. User is responsible for ensuring there is no collision with "
+"the print."
msgstr ""
"활성화되면 툴 체인지 없이 레이어에 프라임 타워가 출력되지 않습니다. 툴 체인지"
-"가 있는 레이어에서는 압출기가 아래쪽으로 이동하여 프라임 타워를 출력합니다. "
-"출력물과의 충돌이 없는지 확인하는 것은 사용자의 책임입니다."
+"가 있는 레이어에서는 압출기가 아래쪽으로 이동하여 프라임 타워를 출력합니다. 출"
+"력물과의 충돌이 없는지 확인하는 것은 사용자의 책임입니다."
msgid "Prime all printing extruders"
msgstr "모든 활성화된 압출기 프라이밍"
@@ -13832,15 +13803,15 @@ msgid ""
"resolution, therefore it is advisable to keep the value reasonably low."
msgstr ""
"간격 폐쇄 반경의 2배보다 작은 균열은 삼각형 메시 슬라이싱 중에 채워집니다. 간"
-"격 채우기 작업은 최종 출력 해상도를 감소시킬 수 있으므로 값을 합리적으로 낮"
-"게 유지하는 것이 좋습니다."
+"격 채우기 작업은 최종 출력 해상도를 감소시킬 수 있으므로 값을 합리적으로 낮게 "
+"유지하는 것이 좋습니다."
msgid "Slicing Mode"
msgstr "슬라이싱 모드"
msgid ""
-"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to "
-"close all holes in the model."
+"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close "
+"all holes in the model."
msgstr ""
"3DLabPrint 비행기 모델에는 \"짝수-홀수\"를 사용하세요. \"구멍 닫기\"를 사용하"
"여 모델의 모든 구멍을 닫습니다."
@@ -13863,10 +13834,10 @@ msgid ""
"example, if your endstop zero actually leaves the nozzle 0.3mm far from the "
"print bed, set this to -0.3 (or fix your endstop)."
msgstr ""
-"이 값은 출력 G코드의 모든 Z 좌표에 더해지거나 뺍니다. 이는 잘못된 Z 엔드스톱 "
-"위치를 보정하는 데 사용됩니다. 예를 들어 엔드스톱 제로가 실제로 출력 베드에"
-"서 노즐을 0.3mm 멀리 벗어나는 경우 이 값을 -0.3으로 설정합니다 (또는 엔드스톱"
-"을 직접 수정하세요)."
+"이 값은 출력 Gcode의 모든 Z 좌표에 더해지거나 뺍니다. 이는 잘못된 Z 엔드스톱 "
+"위치를 보정하는 데 사용됩니다. 예를 들어 엔드스톱 제로가 실제로 출력 베드에서 "
+"노즐을 0.3mm 멀리 벗어나는 경우 이 값을 -0.3으로 설정합니다 (또는 엔드스톱을 "
+"직접 수정하세요)."
msgid "Enable support"
msgstr "서포트 사용"
@@ -13901,10 +13872,10 @@ msgid "XY separation between an object and its support"
msgstr "객체와 서포트를 분리하는 XY 간격"
msgid "Support/object first layer gap"
-msgstr ""
+msgstr "서포트/객체 첫 번째 레이어 간격"
msgid "XY separation between an object and its support at the first layer."
-msgstr ""
+msgstr "첫 번째 레이어에서 객체와 서포트 사이의 XY 분리."
msgid "Pattern angle"
msgstr "패턴 각도"
@@ -13953,8 +13924,8 @@ msgid ""
"Filament to print support base and raft. \"Default\" means no specific "
"filament for support and current filament is used"
msgstr ""
-"기본 서포트 및 라프트를 출력하기 위한 필라멘트. \"기본값\"은 지원을 위한 특"
-"정 필라멘트가 없으며 현재 필라멘트가 사용됨을 의미합니다"
+"기본 서포트 및 라프트를 출력하기 위한 필라멘트. \"기본값\"은 지원을 위한 특정 "
+"필라멘트가 없으며 현재 필라멘트가 사용됨을 의미합니다"
msgid "Avoid interface filament for base"
msgstr "베이스용 인터페이스 필라멘트 줄이기"
@@ -13984,8 +13955,8 @@ msgid ""
"Filament to print support interface. \"Default\" means no specific filament "
"for support interface and current filament is used"
msgstr ""
-"서포트 및 라프트 접점을 출력하기 위한 필라멘트. \"기본값\"은 지원을 위한 특"
-"정 필라멘트가 없으며 현재 필라멘트가 사용됨을 의미합니다"
+"서포트 및 라프트 접점을 출력하기 위한 필라멘트. \"기본값\"은 지원을 위한 특정 "
+"필라멘트가 없으며 현재 필라멘트가 사용됨을 의미합니다"
msgid "Top interface layers"
msgstr "상단 접점 레이어"
@@ -14034,8 +14005,8 @@ msgstr "접점 패턴"
msgid ""
"Line pattern of support interface. Default pattern for non-soluble support "
-"interface is Rectilinear, while default pattern for soluble support "
-"interface is Concentric"
+"interface is Rectilinear, while default pattern for soluble support interface "
+"is Concentric"
msgstr ""
"서포트 접점의 선 패턴. 비가용성 서포트 접점의 기본 패턴은 직선인 반면 가용성 "
"서포트 접점의 기본 패턴은 동심입니다"
@@ -14063,9 +14034,8 @@ msgid ""
"into a regular grid will create more stable supports (default), while snug "
"support towers will save material and reduce object scarring.\n"
"For tree support, slim and organic style will merge branches more "
-"aggressively and save a lot of material (default organic), while hybrid "
-"style will create similar structure to normal support under large flat "
-"overhangs."
+"aggressively and save a lot of material (default organic), while hybrid style "
+"will create similar structure to normal support under large flat overhangs."
msgstr ""
"서포트의 스타일과 모양. 일반 서포트의 경우, 격자는 보다 안정적인 서포트(기본"
"값)가 생성되는 반면, 맞춤 서포트는 재료를 절약하고 서포트 자국을 줄입니다.\n"
@@ -14100,8 +14070,8 @@ msgid ""
"when the prime tower is enabled."
msgstr ""
"서포트 레이어는 객체 레이어와 독립적인 레이어 높이를 사용합니다. 이것은 Z 거"
-"리 사용자 정의를 지원하고 출력 시간을 절약하기 위한 것입니다. 프라임 타워가 "
-"활성화되면 이 옵션은 유효하지 않습니다."
+"리 사용자 정의를 지원하고 출력 시간을 절약하기 위한 것입니다. 프라임 타워가 활"
+"성화되면 이 옵션은 유효하지 않습니다."
msgid "Threshold angle"
msgstr "임계값 각도"
@@ -14119,8 +14089,8 @@ msgid ""
"overlap is below the threshold. The smaller this value is, the steeper the "
"overhang that can be printed without support."
msgstr ""
-"임계각이 0이면 오버행이 임계값 미만인 오버행에 대한 서포트가 생성됩니다. 이 "
-"값이 작을수록 서포트 없이 출력할 수 있는 오버행이 가파르게 됩니다."
+"임계각이 0이면 오버행이 임계값 미만인 오버행에 대한 서포트가 생성됩니다. 이 값"
+"이 작을수록 서포트 없이 출력할 수 있는 오버행이 가파르게 됩니다."
msgid "Tree support branch angle"
msgstr "트리 서포트 가지 각도"
@@ -14131,8 +14101,7 @@ msgid ""
"printed more horizontally, allowing them to reach farther."
msgstr ""
"이 설정은 트리 서포트의 가지가 만들 수 있는 오버행의 최대 각도를 결정합니다. "
-"각도가 증가하면 가지가 멀리까지 닿을 수 있도록 더 수평으로 출력될 수 있습니"
-"다."
+"각도가 증가하면 가지가 멀리까지 닿을 수 있도록 더 수평으로 출력될 수 있습니다."
msgid "Preferred Branch Angle"
msgstr "선호하는 가지 각도"
@@ -14143,9 +14112,9 @@ msgid ""
"model. Use a lower angle to make them more vertical and more stable. Use a "
"higher angle for branches to merge faster."
msgstr ""
-"모델을 피할 필요가 없을 때 가지의 선호 각도입니다. 더 수직적이고 안정적으로 "
-"만들려면 더 낮은 각도를 사용하세요. 가지를 더 빠르게 병합하려면 더 높은 각도"
-"를 사용하세요."
+"모델을 피할 필요가 없을 때 가지의 선호 각도입니다. 더 수직적이고 안정적으로 만"
+"들려면 더 낮은 각도를 사용하세요. 가지를 더 빠르게 병합하려면 더 높은 각도를 "
+"사용하세요."
msgid "Tree support branch distance"
msgstr "트리 서포트 가지 거리"
@@ -14159,23 +14128,22 @@ msgstr "가지 밀도"
#. TRN PrintSettings: "Organic supports" > "Branch Density"
msgid ""
-"Adjusts the density of the support structure used to generate the tips of "
-"the branches. A higher value results in better overhangs but the supports "
-"are harder to remove, thus it is recommended to enable top support "
-"interfaces instead of a high branch density value if dense interfaces are "
-"needed."
+"Adjusts the density of the support structure used to generate the tips of the "
+"branches. A higher value results in better overhangs but the supports are "
+"harder to remove, thus it is recommended to enable top support interfaces "
+"instead of a high branch density value if dense interfaces are needed."
msgstr ""
"가지 끝을 생성하는 데 사용되는 서포트의 밀도를 조정합니다. 값이 높을수록 오버"
-"행가 더 좋아지지만 서포트를 제거하기가 더 어렵습니다. 따라서 조밀한 인터페이"
-"스가 필요한 경우 높은 가지 밀도 값 대신 상단 지지 인터페이스를 활성화하는 것"
-"이 좋습니다."
+"행가 더 좋아지지만 서포트를 제거하기가 더 어렵습니다. 따라서 조밀한 인터페이스"
+"가 필요한 경우 높은 가지 밀도 값 대신 상단 지지 인터페이스를 활성화하는 것이 "
+"좋습니다."
msgid "Adaptive layer height"
msgstr "적응형 레이어 높이"
msgid ""
-"Enabling this option means the height of tree support layer except the "
-"first will be automatically calculated "
+"Enabling this option means the height of tree support layer except the first "
+"will be automatically calculated "
msgstr ""
"이 옵션을 활성화하면 첫 번째 레이어를 제외한 트리 서포트의 레이어 높이가 자동"
"으로 계산됩니다 "
@@ -14195,7 +14163,7 @@ msgid "Distance from tree branch to the outermost brim line"
msgstr "트리 서포트 가지에서 가장 바깥쪽 브림까지의 거리"
msgid "Tip Diameter"
-msgstr "끝 직경"
+msgstr "노즐 직경"
#. TRN PrintSettings: "Organic supports" > "Tip Diameter"
msgid "Branch tip diameter for organic supports."
@@ -14219,8 +14187,8 @@ msgid ""
"support."
msgstr ""
"아래로 갈수록 가지의 직경이 점차 굵어지는 각도. 각도가 0이면 가지가 균일한 두"
-"께를 가지는 가지가 됩니다. 약간의 각도는 유기체 서포트의 안정성을 증가시킬 "
-"수 있습니다."
+"께를 가지는 가지가 됩니다. 약간의 각도는 유기체 서포트의 안정성을 증가시킬 수 "
+"있습니다."
msgid "Support wall loops"
msgstr "서포트 벽 루프"
@@ -14245,8 +14213,7 @@ msgstr "온도 제어 활성화"
msgid ""
"Enable this option for automated chamber temperature control. This option "
-"activates the emitting of an M191 command before the "
-"\"machine_start_gcode\"\n"
+"activates the emitting of an M191 command before the \"machine_start_gcode\"\n"
" which sets the chamber temperature and waits until it is reached. In "
"addition, it emits an M141 command at the end of the print to turn off the "
"chamber heater, if present.\n"
@@ -14260,8 +14227,8 @@ msgstr ""
" 챔버 온도를 설정하고 온도에 도달할 때까지 기다립니다. 또한 출력가 끝나면 챔"
"버 히터를 끄는 M141 명령을 내보냅니다(있는 경우).\n"
"\n"
-"이 옵션은 매크로를 통해 또는 기본적으로 M191 및 M141 명령을 지원하는 펌웨어"
-"에 의존하며 일반적으로 활성 챔버 히터가 설치된 경우 사용됩니다."
+"이 옵션은 매크로를 통해 또는 기본적으로 M191 및 M141 명령을 지원하는 펌웨어에 "
+"의존하며 일반적으로 활성 챔버 히터가 설치된 경우 사용됩니다."
msgid "Chamber temperature"
msgstr "챔버 온도"
@@ -14280,10 +14247,10 @@ msgid ""
"If enabled, this parameter also sets a G-code variable named "
"chamber_temperature, which can be used to pass the desired chamber "
"temperature to your print start macro, or a heat soak macro like this: "
-"PRINT_START (other variables) CHAMBER_TEMP=[chamber_temperature]. This may "
-"be useful if your printer does not support M141/M191 commands, or if you "
-"desire to handle heat soaking in the print start macro if no active chamber "
-"heater is installed."
+"PRINT_START (other variables) CHAMBER_TEMP=[chamber_temperature]. This may be "
+"useful if your printer does not support M141/M191 commands, or if you desire "
+"to handle heat soaking in the print start macro if no active chamber heater "
+"is installed."
msgstr ""
"ABS, ASA, PC 및 PA와 같은 고온 재료의 경우 챔버 온도가 높을수록 뒤틀림을 억제"
"하거나 줄이는 데 도움이 될 수 있으며 잠재적으로 층간 결합 강도가 높아질 수 있"
@@ -14296,9 +14263,9 @@ msgstr ""
"\n"
"활성화된 경우 이 매개변수는 원하는 챔버 온도를 출력 시작 매크로 또는 "
"PRINT_START(기타 변수) CHAMBER_TEMP=[chamber_temp]와 같은 열 흡수 매크로에 전"
-"달하는 데 사용할 수 있는 Chamber_temp라는 Gcode 변수도 설정합니다. 이는 프린"
-"터가 M141/M191 명령을 지원하지 않거나 활성 챔버 히터가 설치되지 않은 경우 출"
-"력 시작 매크로에서 열 흡수를 처리하려는 경우 유용할 수 있습니다."
+"달하는 데 사용할 수 있는 Chamber_temp라는 Gcode 변수도 설정합니다. 이는 프린터"
+"가 M141/M191 명령을 지원하지 않거나 활성 챔버 히터가 설치되지 않은 경우 출력 "
+"시작 매크로에서 열 흡수를 처리하려는 경우 유용할 수 있습니다."
msgid "Nozzle temperature for layers after the initial one"
msgstr "초기 레이어 이후의 노즐 온도"
@@ -14317,11 +14284,11 @@ msgid ""
"This G-code is inserted when filament is changed, including T commands to "
"trigger tool change."
msgstr ""
-"이 G코드는 툴 체인지을 유발하는 T 명령을 포함하여 필라멘트를 변경할 때 삽입됩"
+"이 Gcode는 툴 체인지을 유발하는 T 명령을 포함하여 필라멘트를 변경할 때 삽입됩"
"니다"
msgid "This G-code is inserted when the extrusion role is changed."
-msgstr "이 G코드는 압출 역할이 변경될 때 삽입됩니다"
+msgstr "이 Gcode는 압출 역할이 변경될 때 삽입됩니다"
msgid ""
"Line width for top surfaces. If expressed as a %, it will be computed over "
@@ -14367,23 +14334,22 @@ msgid "Wipe while retracting"
msgstr "후퇴 시 노즐 청소"
msgid ""
-"Move nozzle along the last extrusion path when retracting to clean any "
-"leaked material on the nozzle. This can minimize blobs when printing a new "
-"part after traveling."
+"Move nozzle along the last extrusion path when retracting to clean any leaked "
+"material on the nozzle. This can minimize blobs when printing a new part "
+"after traveling."
msgstr ""
"노즐에서 흘러내린된 재료를 청소하기 위해 후퇴할 때 마지막 압출 경로를 따라 노"
-"즐을 이동합니다. 이동 후 출력을 시작할 때 방울을 최소화할 수 있습니다"
+"즐을 이동합니다. 이동 후 출력을 시작할 때 방울을 최소화할 수 있습니다."
msgid "Wipe Distance"
msgstr "노즐 청소 거리"
msgid ""
-"Describe how long the nozzle will move along the last path when "
-"retracting.\n"
+"Describe how long the nozzle will move along the last path when retracting.\n"
"\n"
"Depending on how long the wipe operation lasts, how fast and long the "
-"extruder/filament retraction settings are, a retraction move may be needed "
-"to retract the remaining filament.\n"
+"extruder/filament retraction settings are, a retraction move may be needed to "
+"retract the remaining filament.\n"
"\n"
"Setting a value in the retract amount before wipe setting below will perform "
"any excess retraction before the wipe, else it will be performed after."
@@ -14465,9 +14431,9 @@ msgid ""
"For the wipe tower external perimeters the internal perimeter speed is used "
"regardless of this setting."
msgstr ""
-"와이프 타워에서 버리기하고 와이프 타워 희박 레이어를 출력할 때 최대 출력 속도입"
-"니다. 버리기 시 희소 충전 속도 또는 필라멘트 최대 압출 속도에서 계산된 속도가 "
-"더 낮은 경우 가장 낮은 속도가 대신 사용됩니다.\n"
+"와이프 타워에서 버리기하고 와이프 타워 희박 레이어를 출력할 때 최대 출력 속도"
+"입니다. 버리기 시 희소 충전 속도 또는 필라멘트 최대 압출 속도에서 계산된 속도"
+"가 더 낮은 경우 가장 낮은 속도가 대신 사용됩니다.\n"
"\n"
"희소 레이어를 출력할 때 내부 주변 속도 또는 필라멘트 최대 압출 속도에서 계산"
"된 속도가 더 낮은 경우 가장 낮은 속도가 대신 사용됩니다.\n"
@@ -14507,8 +14473,8 @@ msgid ""
msgstr ""
"필라멘트 교체 후 버리기는 객체의 채우기 내부에서 수행됩니다. 이렇게 하면 낭비"
"되는 양이 줄어들고 출력 시간이 단축될 수 있습니다. 벽이 투명 필라멘트로 출력"
-"된 경우 혼합 색상 충전재가 외부에 보입니다. 프라임 타워가 활성화되지 않으면 "
-"적용되지 않습니다."
+"된 경우 혼합 색상 충전재가 외부에 보입니다. 프라임 타워가 활성화되지 않으면 적"
+"용되지 않습니다."
msgid ""
"Purging after filament change will be done inside objects' support. This may "
@@ -14516,17 +14482,17 @@ msgid ""
"effect, unless the prime tower is enabled."
msgstr ""
"필라멘트 변경 후 버리기는 객체의 서포트 내부에서 수행됩니다. 이렇게 하면 낭비"
-"되는 양이 줄어들고 출력 시간이 단축될 수 있습니다. 프라임 타워가 활성화되지 "
-"않으면 적용되지 않습니다."
+"되는 양이 줄어들고 출력 시간이 단축될 수 있습니다. 프라임 타워가 활성화되지 않"
+"으면 적용되지 않습니다."
msgid ""
"This object will be used to purge the nozzle after a filament change to save "
"filament and decrease the print time. Colors of the objects will be mixed as "
"a result. It will not take effect unless the prime tower is enabled."
msgstr ""
-"이 객체는 필라멘트를 절약하고 출력 시간을 줄이기 위해 필라멘트 변경 후 노즐"
-"에 남은 잔류물을 제거하는 데 사용됩니다. 결과적으로 객체의 색상이 혼합됩니"
-"다. 기본 타워가 활성화되지 않으면 적용되지 않습니다."
+"이 객체는 필라멘트를 절약하고 출력 시간을 줄이기 위해 필라멘트 변경 후 노즐에 "
+"남은 잔류물을 제거하는 데 사용됩니다. 결과적으로 객체의 색상이 혼합됩니다. 기"
+"본 타워가 활성화되지 않으면 적용되지 않습니다."
msgid "Maximal bridging distance"
msgstr "최대 브릿지 거리"
@@ -14545,11 +14511,11 @@ msgstr "퍼지를 위한 추가 흐름"
msgid ""
"Extra flow used for the purging lines on the wipe tower. This makes the "
-"purging lines thicker or narrower than they normally would be. The spacing "
-"is adjusted automatically."
+"purging lines thicker or narrower than they normally would be. The spacing is "
+"adjusted automatically."
msgstr ""
-"와이프 타워의 퍼지 라인에 추가 흐름이 사용됩니다. 이렇게 하면 퍼지 라인이 평"
-"소보다 두껍거나 좁아집니다. 간격은 자동으로 조정됩니다."
+"와이프 타워의 퍼지 라인에 추가 흐름이 사용됩니다. 이렇게 하면 퍼지 라인이 평소"
+"보다 두껍거나 좁아집니다. 간격은 자동으로 조정됩니다."
msgid "Idle temperature"
msgstr "공회전 온도"
@@ -14560,8 +14526,8 @@ msgid ""
"0 to disable."
msgstr ""
"도구가 현재 다중 도구 설정에서 사용되지 않을 때의 노즐 온도. 이는 출력 설정에"
-"서 '흘러내림 방지'가 활성화된 경우에만 사용됩니다. 비활성화하려면 0으로 설정"
-"합니다."
+"서 '흘러내림 방지'가 활성화된 경우에만 사용됩니다. 비활성화하려면 0으로 설정합"
+"니다."
msgid "X-Y hole compensation"
msgstr "X-Y 구멍 보정"
@@ -14573,9 +14539,9 @@ msgid ""
"smaller. This function is used to adjust sizes slightly when the objects "
"have assembling issues."
msgstr ""
-"객체의 구멍(Holes)은 구성된 값에 의해 XY 평면에서 커지거나 줄어듭니다. 양수 "
-"값은 구멍을 더 크게 만듭니다. 음수 값은 구멍을 더 작게 만듭니다. 이 기능은 개"
-"체의 조립 문제가 있을 때 크기를 약간 조정하는 데 사용됩니다"
+"객체의 구멍은 구성된 값에 의해 XY 평면에서 커지거나 줄어듭니다. 양수 값은 구멍"
+"을 더 크게 만듭니다. 음수 값은 구멍을 더 작게 만듭니다. 이 기능은 개체의 조립 "
+"문제가 있을 때 크기를 약간 조정하는 데 사용됩니다"
msgid "X-Y contour compensation"
msgstr "X-Y 윤곽 보상"
@@ -14587,9 +14553,9 @@ msgid ""
"contours smaller. This function is used to adjust sizes slightly when the "
"objects have assembling issues."
msgstr ""
-"객체의 윤곽은 구성된 값에 의해 XY 평면에서 커지거나 줄어듭니다. 양수 값은 윤"
-"곽선을 더 크게 만듭니다. 음수 값은 윤곽선을 더 작게 만듭니다. 이 기능은 객체"
-"의 조립 문제가 있을 때 크기를 약간 조정하는 데 사용됩니다"
+"객체의 윤곽은 구성된 값에 의해 XY 평면에서 커지거나 줄어듭니다. 양수 값은 윤곽"
+"선을 더 크게 만듭니다. 음수 값은 윤곽선을 더 작게 만듭니다. 이 기능은 객체의 "
+"조립 문제가 있을 때 크기를 약간 조정하는 데 사용됩니다"
msgid "Convert holes to polyholes"
msgstr "구멍을 폴리홀로 변환"
@@ -14618,8 +14584,8 @@ msgid ""
"In mm or in % of the radius."
msgstr ""
"원의 추정 반경에 대한 모서리의 최대 변위.\n"
-"원통은 다양한 크기의 삼각형으로 내보내지는 경우가 많기 때문에 모서리가 원 둘"
-"레에 위치하지 않을 수 있습니다. 이 설정을 사용하면 감지 범위를 넓힐 수 있습니"
+"원통은 다양한 크기의 삼각형으로 내보내지는 경우가 많기 때문에 모서리가 원 둘레"
+"에 위치하지 않을 수 있습니다. 이 설정을 사용하면 감지 범위를 넓힐 수 있습니"
"다.\n"
"mm 또는 반경의 % o단위입니다."
@@ -14643,8 +14609,8 @@ msgid "Format of G-code thumbnails"
msgstr "Gcode 미리보기 형식"
msgid ""
-"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, "
-"QOI for low memory firmware"
+"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, QOI "
+"for low memory firmware"
msgstr ""
"Gcode 미리보기 포맷: 최고 품질은 PNG, 최소 크기는 JPG, 저메모리 펌웨어는 QOI"
@@ -14657,18 +14623,18 @@ msgid ""
"Wipe tower is only compatible with relative mode. It is recommended on most "
"printers. Default is checked."
msgstr ""
-"\"label_objects\" 옵션을 사용할 때는 상대 압출을 권장합니다. 일부 압출기는 "
-"이 옵션을 선택하지 않은 경우(절대 압출 모드) 더 잘 작동합니다. 와이프 타워는 "
-"상대 모드와만 호환됩니다. 대부분의 프린터에 권장됩니다. 기본값이 선택되어 있"
-"습니다"
+"\"label_objects\" 옵션을 사용할 때는 상대 압출을 권장합니다. 일부 압출기는 이 "
+"옵션을 선택하지 않은 경우(절대 압출 모드) 더 잘 작동합니다. 와이프 타워는 상"
+"대 모드와만 호환됩니다. 대부분의 프린터에 권장됩니다. 기본값이 선택되어 있습니"
+"다"
msgid ""
"Classic wall generator produces walls with constant extrusion width and for "
-"very thin areas is used gap-fill. Arachne engine produces walls with "
-"variable extrusion width"
+"very thin areas is used gap-fill. Arachne engine produces walls with variable "
+"extrusion width"
msgstr ""
-"클래식 벽 생성기는 돌출 폭이 일정한 벽을 생성하며 매우 얇은 영역에는 간격 채"
-"움이 사용됩니다. 아라크네 엔진은 압출 폭이 가변적인 벽을 생성합니다."
+"클래식 벽 생성기는 돌출 폭이 일정한 벽을 생성하며 매우 얇은 영역에는 간격 채움"
+"이 사용됩니다. 아라크네 엔진은 압출 폭이 가변적인 벽을 생성합니다."
msgid "Arachne"
msgstr "아라크네"
@@ -14681,9 +14647,8 @@ msgid ""
"thinner, a certain amount of space is allotted to split or join the wall "
"segments. It's expressed as a percentage over nozzle diameter"
msgstr ""
-"부품이 얇아짐에 따라 벽의 수가 변화하는 경우, 벽 구간을 분할하거나 결합하기 "
-"위해 일정한 공간이 할당됩니다. 이는 노즐 지름을 기준으로 한 백분율로 표현됩니"
-"다"
+"부품이 얇아짐에 따라 벽의 수가 변화하는 경우, 벽 구간을 분할하거나 결합하기 위"
+"해 일정한 공간이 할당됩니다. 이는 노즐 지름을 기준으로 한 백분율로 표현됩니다"
msgid "Wall transitioning filter margin"
msgstr "벽 변환 필터 마진"
@@ -14691,17 +14656,17 @@ msgstr "벽 변환 필터 마진"
msgid ""
"Prevent transitioning back and forth between one extra wall and one less. "
"This margin extends the range of extrusion widths which follow to [Minimum "
-"wall width - margin, 2 * Minimum wall width + margin]. Increasing this "
-"margin reduces the number of transitions, which reduces the number of "
-"extrusion starts/stops and travel time. However, large extrusion width "
-"variation can lead to under- or overextrusion problems. It's expressed as a "
-"percentage over nozzle diameter"
+"wall width - margin, 2 * Minimum wall width + margin]. Increasing this margin "
+"reduces the number of transitions, which reduces the number of extrusion "
+"starts/stops and travel time. However, large extrusion width variation can "
+"lead to under- or overextrusion problems. It's expressed as a percentage over "
+"nozzle diameter"
msgstr ""
"출력물의 벽 두께를 한 번 두껍게 한 다음 다시 한 번 더 얇게 하는 것을 방지합니"
-"다. 이 마진은 다음의 범위로 압출 너비를 확장합니다: [최소 벽 너비 - 마진, 2 "
-"* 최소 벽 너비 + 마진]. 이 마진이 증가하면 변환 횟수가 줄어들어 압출 시작/중"
-"지 횟수와 이동 시간이 줄어듭니다. 그러나, 큰 압출 너비 변동은 압출 과다 또는 "
-"압출 과소 문제를 일으킬 수 있습니다. 노즐 직경을 기준으로 백분율로 표시됩니다"
+"다. 이 마진은 다음의 범위로 압출 너비를 확장합니다: [최소 벽 너비 - 마진, 2 * "
+"최소 벽 너비 + 마진]. 이 마진이 증가하면 변환 횟수가 줄어들어 압출 시작/중지 "
+"횟수와 이동 시간이 줄어듭니다. 그러나, 큰 압출 너비 변동은 압출 과다 또는 압"
+"출 과소 문제를 일으킬 수 있습니다. 노즐 직경을 기준으로 백분율로 표시됩니다"
msgid "Wall transitioning threshold angle"
msgstr "벽 변환 임계값"
@@ -14713,10 +14678,10 @@ msgid ""
"this setting reduces the number and length of these center walls, but may "
"leave gaps or overextrude"
msgstr ""
-"벽의 짝수와 홀수 사이에 변환을 만드는 시기. 이 설정보다 큰 각도의 쐐기 모양"
-"은 변환되지 않으며 나머지 공간 채우기를 위해 중앙에 벽이 출력되지 않습니다. "
-"이 설정을 줄이면 중앙 벽의 수와 길이가 줄어들지만 간격이 남거나 과도하게 돌출"
-"될 수 있습니다"
+"벽의 짝수와 홀수 사이에 변환을 만드는 시기. 이 설정보다 큰 각도의 쐐기 모양은 "
+"변환되지 않으며 나머지 공간 채우기를 위해 중앙에 벽이 출력되지 않습니다. 이 설"
+"정을 줄이면 중앙 벽의 수와 길이가 줄어들지만 간격이 남거나 과도하게 돌출될 수 "
+"있습니다"
msgid "Wall distribution count"
msgstr "벽 분포 수"
@@ -14725,8 +14690,8 @@ msgid ""
"The number of walls, counted from the center, over which the variation needs "
"to be spread. Lower values mean that the outer walls don't change in width"
msgstr ""
-"변환을 분산해야 하는 벽의 개수(중심에서 카운트)입니다. 값이 낮으면 외벽의 너"
-"비가 변경되지 않습니다"
+"변환을 분산해야 하는 벽의 개수(중심에서 카운트)입니다. 값이 낮으면 외벽의 너비"
+"가 변경되지 않습니다"
msgid "Minimum feature size"
msgstr "최소 형상 크기"
@@ -14739,8 +14704,8 @@ msgid ""
"nozzle diameter."
msgstr ""
"얇은 형상의 최소 두께. 이 값보다 얇은 모델 형상은 출력되지 않으며, 최소 형상 "
-"크기보다 두꺼운 형상은 최소 벽 너비로 확대됩니다. 노즐 직경에 대한 백분율로 "
-"표시됩니다"
+"크기보다 두꺼운 형상은 최소 벽 너비로 확대됩니다. 노즐 직경에 대한 백분율로 표"
+"시됩니다"
msgid "Minimum wall length"
msgstr "최소 벽 길이"
@@ -14751,30 +14716,29 @@ msgid ""
"\n"
"NOTE: Bottom and top surfaces will not be affected by this value to prevent "
"visual gaps on the outside of the model. Adjust 'One wall threshold' in the "
-"Advanced settings below to adjust the sensitivity of what is considered a "
-"top-surface. 'One wall threshold' is only visible if this setting is set "
-"above the default value of 0.5, or if single-wall top surfaces is enabled."
+"Advanced settings below to adjust the sensitivity of what is considered a top-"
+"surface. 'One wall threshold' is only visible if this setting is set above "
+"the default value of 0.5, or if single-wall top surfaces is enabled."
msgstr ""
"짧고 닫히지 않은 벽이 출력되는 것을 방지하려면 이 값을 조정하십시오. 이로 인"
-"해 출력 시간이 늘어날 수 있습니다. 값이 높을수록 더 많은 벽과 긴 벽이 제거됩"
-"니다.\n"
+"해 출력 시간이 늘어날 수 있습니다. 값이 높을수록 더 많은 벽과 긴 벽이 제거됩니"
+"다.\n"
"\n"
"참고: 모델 외부의 시각적 틈을 방지하기 위해 하단 및 상단 표면은 이 값의 영향"
-"을 받지 않습니다. 상단 표면으로 간주되는 항목의 감도를 조정하려면 아래 고급 "
-"설정에서 '벽 하나의 임계값'을 조정하세요. '하나의 벽 임계값'은 이 설정이 기본"
-"값인 0.5보다 높게 설정되거나 단일 벽 상단 표면이 활성화된 경우에만 표시됩니"
-"다."
+"을 받지 않습니다. 상단 표면으로 간주되는 항목의 감도를 조정하려면 아래 고급 설"
+"정에서 '벽 하나의 임계값'을 조정하세요. '하나의 벽 임계값'은 이 설정이 기본값"
+"인 0.5보다 높게 설정되거나 단일 벽 상단 표면이 활성화된 경우에만 표시됩니다."
msgid "First layer minimum wall width"
msgstr "첫 레이어 최소 벽 너비"
msgid ""
-"The minimum wall width that should be used for the first layer is "
-"recommended to be set to the same size as the nozzle. This adjustment is "
-"expected to enhance adhesion."
+"The minimum wall width that should be used for the first layer is recommended "
+"to be set to the same size as the nozzle. This adjustment is expected to "
+"enhance adhesion."
msgstr ""
-"첫 번째 레이어에 사용되는 최소 벽 너비는 노즐과 동일한 크기로 설정하는 것이 "
-"좋습니다. 이러한 조정을 통해 접착력이 향상될 수 있습니다."
+"첫 번째 레이어에 사용되는 최소 벽 너비는 노즐과 동일한 크기로 설정하는 것이 좋"
+"습니다. 이러한 조정을 통해 접착력이 향상될 수 있습니다."
msgid "Minimum wall width"
msgstr "최소 벽 너비"
@@ -14785,9 +14749,9 @@ msgid ""
"thickness of the feature, the wall will become as thick as the feature "
"itself. It's expressed as a percentage over nozzle diameter"
msgstr ""
-"모델의 얇은 형상(최소 형상 크기에 따름)을 대체할 벽의 너비입니다. 최소 벽 너"
-"비가 형상의 두께보다 얇은 경우 벽은 형상 자체만큼 두꺼워집니다. 노즐 직경에 "
-"대한 백분율로 표시됩니다"
+"모델의 얇은 형상(최소 형상 크기에 따름)을 대체할 벽의 너비입니다. 최소 벽 너비"
+"가 형상의 두께보다 얇은 경우 벽은 형상 자체만큼 두꺼워집니다. 노즐 직경에 대"
+"한 백분율로 표시됩니다"
msgid "Detect narrow internal solid infill"
msgstr "좁은 꽉찬 내부 채우기 감지"
@@ -14797,9 +14761,9 @@ msgid ""
"the concentric pattern will be used for the area to speed up printing. "
"Otherwise, the rectilinear pattern will be used by default."
msgstr ""
-"이 옵션은 좁은 꽉찬 내부 채우기 영역을 자동으로 감지합니다. 활성화하면 출력 "
-"속도를 높이기 위해 해당 영역에 동심 패턴이 사용됩니다. 그렇지 않으면 기본적으"
-"로 직선 패턴이 사용됩니다."
+"이 옵션은 좁은 꽉찬 내부 채우기 영역을 자동으로 감지합니다. 활성화하면 출력 속"
+"도를 높이기 위해 해당 영역에 동심 패턴이 사용됩니다. 그렇지 않으면 기본적으로 "
+"직선 패턴이 사용됩니다."
msgid "invalid value "
msgstr "잘못된 값 "
@@ -14841,7 +14805,7 @@ msgid "Export multiple STLs"
msgstr "여러 STL을 내보내기"
msgid "Export the objects as multiple STLs to directory"
-msgstr "객ㅊ를 디렉터리에 여러 STL로 내보내기"
+msgstr "객체를 여러 STL로 경로에 내보내기"
msgid "Slice"
msgstr "슬라이스"
@@ -14938,8 +14902,8 @@ msgstr "베드에서 확인"
msgid ""
"Lift the object above the bed when it is partially below. Disabled by default"
msgstr ""
-"객체의 일부가 베드 아래에 있을 때 베드 위로 객체를 들어올립니다. 기본적으로 "
-"비활성화됩니다"
+"객체의 일부가 베드 아래에 있을 때 베드 위로 객체를 들어올립니다. 기본적으로 비"
+"활성화됩니다"
msgid ""
"Arrange the supplied models in a plate and merge them in a single model in "
@@ -15024,7 +14988,7 @@ msgid "downward machines settings"
msgstr "하향 머신 설정"
msgid "The machine settings list needs to do downward checking."
-msgstr "머신 설정 목록에서 아래쪽을 확인해야 합니다."
+msgstr "머신 설정 목록에서 아래쪽을 확인해야 합니다"
msgid "Load assemble list"
msgstr "조립 목록 로드"
@@ -15063,14 +15027,14 @@ msgid "Enable timelapse for print"
msgstr "출력에 타임랩스 활성화"
msgid "If enabled, this slicing will be considered using timelapse"
-msgstr "활성화하면 타임랩스를 사용하여 이 슬라이싱을 고려합니다."
+msgstr "활성화하면 타임랩스를 사용하여 이 슬라이싱을 고려합니다"
#, fuzzy
msgid "Load custom G-code"
msgstr "사용자 정의 Gcode 불러오기"
msgid "Load custom G-code from json."
-msgstr "사용자 정의 G코드를 json에서 불러오기"
+msgstr "사용자 정의 Gcode를 json에서 불러오기."
msgid "Load filament ids"
msgstr "필라멘트 ID 불러오기"
@@ -15082,13 +15046,13 @@ msgid "Allow multiple colors on one plate"
msgstr "한 플레이트에서 여러 색상 허용"
msgid "If enabled, Arrange will allow multiple colors on one plate."
-msgstr "활성화하면 하나의 플레이트에 여러 색상을 허용합니다."
+msgstr "활성화하면 하나의 플레이트에 여러 색상을 허용합니다"
msgid "Allow rotation when arranging"
msgstr "정렬할 때 회전 허용"
msgid "If enabled, Arrange will allow rotation when placing objects."
-msgstr "활성화하면 객체를 배치할 때 배열이 회전을 허용합니다."
+msgstr "활성화하면 객체를 배치할 때 배열이 회전을 허용합니다"
msgid "Avoid extrusion calibrate region when arranging"
msgstr "정렬 시 돌출 보정 영역을 피하십시오."
@@ -15096,7 +15060,7 @@ msgstr "정렬 시 돌출 보정 영역을 피하십시오."
msgid ""
"If enabled, Arrange will avoid extrusion calibrate region when placing "
"objects."
-msgstr "활성화하면 객체를 배치할 때 돌출 보정 영역을 피합니다."
+msgstr "활성화하면 객체를 배치할 때 돌출 보정 영역을 피합니다"
#, fuzzy
msgid "Skip modified G-code in 3mf"
@@ -15104,7 +15068,7 @@ msgstr "3mf에서 수정된 Gcode 건너뛰기"
#, fuzzy
msgid "Skip the modified G-code in 3mf from Printer or filament Presets."
-msgstr "프린터 또는 필라멘트 사전 설정에서 3mf의 수정된 gcodes 건너뛰기"
+msgstr "프린터 또는 필라멘트 사전 설정에서 3mf의 수정된 Gcode 건너뛰기"
msgid "MakerLab name"
msgstr "메이커 랩 이름"
@@ -15144,16 +15108,16 @@ msgid ""
"custom G-code travels somewhere else, it should write to this variable so "
"OrcaSlicer knows where it travels from when it gets control back."
msgstr ""
-"사용자 정의 Gcode 블록 시작 부분의 압출기 위치입니다. 사용자 정의 G코드가 다"
-"른 곳으로 이동하는 경우 PrusaSlicer가 제어권을 다시 얻을 때 이동 위치를 알 "
-"수 있도록 이 변수에 기록해야 합니다."
+"사용자 정의 Gcode 블록 시작 부분의 압출기 위치입니다. 사용자 정의 Gcode가 다"
+"른 곳으로 이동하는 경우 PrusaSlicer가 제어권을 다시 얻을 때 이동 위치를 알 수 "
+"있도록 이 변수에 기록해야 합니다."
msgid ""
-"Retraction state at the beginning of the custom G-code block. If the custom "
-"G-code moves the extruder axis, it should write to this variable so "
-"OrcaSlicer de-retracts correctly when it gets control back."
+"Retraction state at the beginning of the custom G-code block. If the custom G-"
+"code moves the extruder axis, it should write to this variable so OrcaSlicer "
+"de-retracts correctly when it gets control back."
msgstr ""
-"사용자 정의 Gcode 블록 시작 부분의 후퇴 상태입니다. 사용자 정의 G코드가 압출"
+"사용자 정의 Gcode 블록 시작 부분의 후퇴 상태입니다. 사용자 정의 Gcode가 압출"
"기 축을 이동하는 경우 PrusaSlicer가 다시 제어권을 얻었을 때 올바르게 후퇴할 "
"수 있도록 이 변수에 기록해야 합니다."
@@ -15254,8 +15218,8 @@ msgid "Total weight"
msgstr "총 무게"
msgid ""
-"Total weight of the print. Calculated from filament_density value in "
-"Filament Settings."
+"Total weight of the print. Calculated from filament_density value in Filament "
+"Settings."
msgstr ""
"출력물의 총 무게입니다. 필라멘트 설정의 filment_density 값에서 계산됩니다."
@@ -15286,8 +15250,8 @@ msgid ""
"index 0).\n"
"Example: 'x:100% y:50% z:100'."
msgstr ""
-"개별 객체에 어떤 크기 조정이 적용되었는지에 대한 정보가 포함된 문자열을 포함"
-"합니다. 객체의 인덱싱은 0부터 시작합니다(첫 번째 객체의 인덱스는 0입니다).\n"
+"개별 객체에 어떤 크기 조정이 적용되었는지에 대한 정보가 포함된 문자열을 포함합"
+"니다. 객체의 인덱싱은 0부터 시작합니다(첫 번째 객체의 인덱스는 0입니다).\n"
"예: 'x:100% y:50% z:100'."
msgid "Input filename without extension"
@@ -15301,8 +15265,8 @@ msgid ""
msgstr "벡터에는 점의 x 및 y 좌표라는 두 가지 요소가 있습니다. 값(mm)"
msgid ""
-"The vector has two elements: x and y dimension of the bounding box. Values "
-"in mm."
+"The vector has two elements: x and y dimension of the bounding box. Values in "
+"mm."
msgstr "벡터에는 경계 상자의 x 및 y 차원이라는 두 가지 요소가 있습니다. 값(mm)"
msgid "First layer convex hull"
@@ -15380,8 +15344,8 @@ msgid "Number of extruders"
msgstr "압출기 수"
msgid ""
-"Total number of extruders, regardless of whether they are used in the "
-"current print."
+"Total number of extruders, regardless of whether they are used in the current "
+"print."
msgstr "현재 프린트에 사용되는지 여부에 관계없이 총 압출기 수입니다."
msgid "Layer number"
@@ -15442,8 +15406,8 @@ msgid ""
"It seems object %s has %s. Please re-orient the object or enable support "
"generation."
msgstr ""
-"객체 %s에 %s이(가) 있는 것 같습니다. 물체의 방향을 바꾸거나 서포트 생성을 활"
-"성화하세요."
+"객체 %s에 %s가 있는 것 같습니다. 물체의 방향을 바꾸거나 서포트 생성을 활성화하"
+"세요."
msgid "Generating support"
msgstr "서포트 생성 중"
@@ -15475,8 +15439,8 @@ msgstr "서포트: 접점 생성"
msgid ""
"Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension."
msgstr ""
-"알 수 없는 파일 형식: 입력 파일의 확장자는 .stl, .obj 또는 .amf(.xml)여야 합"
-"니다."
+"알 수 없는 파일 형식: 입력 파일의 확장자는 .stl, .obj 또는 .amf(.xml)여야 합니"
+"다."
msgid "Loading of a model file failed."
msgstr "모델 파일 로드에 실패했습니다."
@@ -15485,8 +15449,7 @@ msgid "The supplied file couldn't be read because it's empty"
msgstr "제공된 파일이 비어 있어 읽을 수 없습니다"
msgid "Unknown file format. Input file must have .3mf or .zip.amf extension."
-msgstr ""
-"알 수 없는 파일 형식: 입력 파일의 확장자는.3mf 또는.zip.amf여야 합니다."
+msgstr "알 수 없는 파일 형식: 입력 파일의 확장자는.3mf 또는.zip.amf여야 합니다."
msgid "load_obj: failed to parse"
msgstr "load_obj: 구문 분석에 실패"
@@ -15590,7 +15553,7 @@ msgstr "이름은 비워둘 수 없습니다."
#, c-format, boost-format
msgid "The selected preset: %s was not found."
-msgstr "선택한 사전 설정: %s을(를) 찾을 수 없습니다."
+msgstr "선택한 사전 설정: %s을 찾을 수 없습니다."
msgid "The name cannot be the same as the system preset name."
msgstr "이름은 시스템 사전 설정 이름과 동일할 수 없습니다."
@@ -15618,15 +15581,15 @@ msgid "The input value size must be 3."
msgstr "입력 값 크기는 3이어야 합니다."
msgid ""
-"This machine type can only hold 16 history results per nozzle. You can "
-"delete the existing historical results and then start calibration. Or you "
-"can continue the calibration, but you cannot create new calibration "
-"historical results.\n"
+"This machine type can only hold 16 history results per nozzle. You can delete "
+"the existing historical results and then start calibration. Or you can "
+"continue the calibration, but you cannot create new calibration historical "
+"results.\n"
"Do you still want to continue the calibration?"
msgstr ""
-"이 기계 유형은 노즐당 16개의 기록 결과만 보유할 수 있습니다. 기존 기록 결과"
-"를 삭제한 후 교정을 시작할 수 있습니다. 또는 교정을 계속할 수 있지만 새로운 "
-"교정 기록 결과를 생성할 수는 없습니다.\n"
+"이 기계 유형은 노즐당 16개의 기록 결과만 보유할 수 있습니다. 기존 기록 결과를 "
+"삭제한 후 교정을 시작할 수 있습니다. 또는 교정을 계속할 수 있지만 새로운 교정 "
+"기록 결과를 생성할 수는 없습니다.\n"
"그래도 교정을 계속하시겠습니까?"
msgid "Connecting to printer..."
@@ -15640,9 +15603,9 @@ msgstr "동적 압출량 교정 결과가 프린터에 저장되었습니다"
#, c-format, boost-format
msgid ""
-"There is already a historical calibration result with the same name: %s. "
-"Only one of the results with the same name is saved. Are you sure you want "
-"to override the historical result?"
+"There is already a historical calibration result with the same name: %s. Only "
+"one of the results with the same name is saved. Are you sure you want to "
+"override the historical result?"
msgstr ""
"동일한 이름을 가진 기록 교정 결과가 이미 있습니다: %s. 동일한 이름의 결과 중 "
"하나만 저장됩니다. 과거 결과를 재정의하시겠습니까?"
@@ -15672,19 +15635,19 @@ msgstr "동적 압출량 교정이 필요한 경우"
msgid ""
"We now have added the auto-calibration for different filaments, which is "
-"fully automated and the result will be saved into the printer for future "
-"use. You only need to do the calibration in the following limited cases:\n"
-"1. If you introduce a new filament of different brands/models or the "
-"filament is damp;\n"
+"fully automated and the result will be saved into the printer for future use. "
+"You only need to do the calibration in the following limited cases:\n"
+"1. If you introduce a new filament of different brands/models or the filament "
+"is damp;\n"
"2. If the nozzle is worn out or replaced with a new one;\n"
"3. If the max volumetric speed or print temperature is changed in the "
"filament setting."
msgstr ""
-"이제 다양한 필라멘트에 대한 자동 교정 기능이 추가되었습니다. 이 기능은 완전"
-"히 자동화되었으며 결과는 나중에 사용할 수 있도록 프린터에 저장됩니다. 다음과 "
-"같은 제한된 경우에만 보정을 수행해야 합니다.\n"
-"1. 다른 브랜드/모델의 새로운 필라멘트를 도입하거나 필라멘트가 습기에 노출된 "
-"경우;\n"
+"이제 다양한 필라멘트에 대한 자동 교정 기능이 추가되었습니다. 이 기능은 완전히 "
+"자동화되었으며 결과는 나중에 사용할 수 있도록 프린터에 저장됩니다. 다음과 같"
+"은 제한된 경우에만 보정을 수행해야 합니다.\n"
+"1. 다른 브랜드/모델의 새로운 필라멘트를 도입하거나 필라멘트가 습기에 노출된 경"
+"우;\n"
"2. 노즐이 낡았거나 새것으로 교체한 경우\n"
"3. 필라멘트 설정에서 최대 압출 속도나 출력 온도가 변경된 경우."
@@ -15696,10 +15659,10 @@ msgid ""
"\n"
"Usually the calibration is unnecessary. When you start a single color/"
"material print, with the \"flow dynamics calibration\" option checked in the "
-"print start menu, the printer will follow the old way, calibrate the "
-"filament before the print; When you start a multi color/material print, the "
-"printer will use the default compensation parameter for the filament during "
-"every filament switch which will have a good result in most cases.\n"
+"print start menu, the printer will follow the old way, calibrate the filament "
+"before the print; When you start a multi color/material print, the printer "
+"will use the default compensation parameter for the filament during every "
+"filament switch which will have a good result in most cases.\n"
"\n"
"Please note that there are a few cases that can make the calibration results "
"unreliable, such as insufficient adhesion on the build plate. Improving "
@@ -15714,18 +15677,18 @@ msgstr ""
"\n"
"일반적으로 교정은 필요하지 않습니다. 출력 시작 메뉴에서 \"동적 압출량 교정\" "
"옵션을 선택한 상태에서 단일 색상/재료 출력을 시작하면 프린터는 이전 방식을 따"
-"르며 출력 전에 필라멘트를 교정합니다. 다중 색상/재료 출력을 시작하면 프린터"
-"는 모든 필라멘트 전환 중에 필라멘트에 대한 기본 보상 매개변수를 사용하므로 대"
-"부분의 경우 좋은 결과를 얻을 수 있습니다.\n"
+"르며 출력 전에 필라멘트를 교정합니다. 다중 색상/재료 출력을 시작하면 프린터는 "
+"모든 필라멘트 전환 중에 필라멘트에 대한 기본 보상 매개변수를 사용하므로 대부분"
+"의 경우 좋은 결과를 얻을 수 있습니다.\n"
"\n"
"교정 결과를 신뢰할 수 없게 만드는 몇 가지 경우가 있습니다. 텍스처 플레이트를 "
-"사용하여 보정을 수행합니다. 빌드 플레이트의 접착력이 좋지 않습니다. (빌드 플"
-"레이트를 세척하거나 풀을 바르십시오!) ...위키에서 자세한 내용을 확인할 수 있"
-"습니다.\n"
+"사용하여 보정을 수행합니다. 빌드 플레이트의 접착력이 좋지 않습니다. (빌드 플레"
+"이트를 세척하거나 풀을 바르십시오!) ...위키에서 자세한 내용을 확인할 수 있습니"
+"다.\n"
"\n"
-"테스트에서 교정 결과에는 약 10%의 오차가 있으며, 이로 인해 각 교정에서 결과"
-"가 정확히 동일하지 않을 수 있습니다. 새로운 업데이트로 개선하기 위해 근본 원"
-"인을 계속 조사하고 있습니다."
+"테스트에서 교정 결과에는 약 10%의 오차가 있으며, 이로 인해 각 교정에서 결과가 "
+"정확히 동일하지 않을 수 있습니다. 새로운 업데이트로 개선하기 위해 근본 원인을 "
+"계속 조사하고 있습니다."
msgid "When to use Flow Rate Calibration"
msgstr "압출량 교정을 사용해야 하는 경우"
@@ -15741,10 +15704,10 @@ msgid ""
"4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as "
"they should be."
msgstr ""
-"동적 압출량 교정을 사용한 후에도 다음과 같은 압출 문제가 여전히 발생할 수 있"
-"습니다.\n"
-"1. 과다 압출: 출력된 객체에 재료가 너무 많아 얼룩이나 잡티가 형성되거나 레이"
-"어가 예상보다 두껍고 균일하지 않은 것처럼 보입니다.\n"
+"동적 압출량 교정을 사용한 후에도 다음과 같은 압출 문제가 여전히 발생할 수 있습"
+"니다.\n"
+"1. 과다 압출: 출력된 객체에 재료가 너무 많아 얼룩이나 잡티가 형성되거나 레이어"
+"가 예상보다 두껍고 균일하지 않은 것처럼 보입니다.\n"
"2. 과소 압출: 레이어가 매우 얇거나 충전 강도가 약하거나 천천히 출력할 때에도 "
"모델 상단 레이어에 틈이 있습니다.\n"
"3. 표면 품질 불량: 출력물의 표면이 거칠거나 울퉁불퉁해 보입니다.\n"
@@ -15763,29 +15726,28 @@ msgstr ""
msgid ""
"Flow Rate Calibration measures the ratio of expected to actual extrusion "
"volumes. The default setting works well in Bambu Lab printers and official "
-"filaments as they were pre-calibrated and fine-tuned. For a regular "
-"filament, you usually won't need to perform a Flow Rate Calibration unless "
-"you still see the listed defects after you have done other calibrations. For "
-"more details, please check out the wiki article."
+"filaments as they were pre-calibrated and fine-tuned. For a regular filament, "
+"you usually won't need to perform a Flow Rate Calibration unless you still "
+"see the listed defects after you have done other calibrations. For more "
+"details, please check out the wiki article."
msgstr ""
"압출량 교정은 예상되는 압출량과 실제 압출량의 비율을 측정합니다. 기본 설정은 "
-"사전 보정되고 미세 조정된 뱀부랩 프린터 및 공식 필라멘트에서 잘 작동합니다. "
-"일반 필라멘트의 경우 일반적으로 다른 교정을 수행한 후에도 나열된 결함이 표시"
-"되지 않는 한 압출량 교정을 수행할 필요가 없습니다. 자세한 내용은 위키를 확인"
-"하시기 바랍니다."
+"사전 보정되고 미세 조정된 뱀부랩 프린터 및 공식 필라멘트에서 잘 작동합니다. 일"
+"반 필라멘트의 경우 일반적으로 다른 교정을 수행한 후에도 나열된 결함이 표시되"
+"지 않는 한 압출량 교정을 수행할 필요가 없습니다. 자세한 내용은 위키를 확인하시"
+"기 바랍니다."
msgid ""
"Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, "
"directly measuring the calibration patterns. However, please be advised that "
"the efficacy and accuracy of this method may be compromised with specific "
"types of materials. Particularly, filaments that are transparent or semi-"
-"transparent, sparkling-particled, or have a high-reflective finish may not "
-"be suitable for this calibration and can produce less-than-desirable "
-"results.\n"
+"transparent, sparkling-particled, or have a high-reflective finish may not be "
+"suitable for this calibration and can produce less-than-desirable results.\n"
"\n"
-"The calibration results may vary between each calibration or filament. We "
-"are still improving the accuracy and compatibility of this calibration "
-"through firmware updates over time.\n"
+"The calibration results may vary between each calibration or filament. We are "
+"still improving the accuracy and compatibility of this calibration through "
+"firmware updates over time.\n"
"\n"
"Caution: Flow Rate Calibration is an advanced process, to be attempted only "
"by those who fully understand its purpose and implications. Incorrect usage "
@@ -15795,16 +15757,16 @@ msgstr ""
"자동 압출량 교정은 뱀부랩의 마이크로 라이다 기술을 활용하여 교정 패턴을 직접 "
"측정합니다. 그러나 특정 유형의 재료를 사용하면 이 방법의 효율성과 정확성이 저"
"하될 수 있다는 점에 유의하시기 바랍니다. 특히, 투명 또는 반투명, 반짝이는 입"
-"자 또는 고반사 마감 처리된 필라멘트는 이 교정에 적합하지 않을 수 있으며 바람"
-"직하지 않은 결과를 생성할 수 있습니다.\n"
+"자 또는 고반사 마감 처리된 필라멘트는 이 교정에 적합하지 않을 수 있으며 바람직"
+"하지 않은 결과를 생성할 수 있습니다.\n"
"\n"
"교정 결과는 각 교정 또는 필라멘트마다 다를 수 있습니다. 우리는 시간이 지남에 "
"따라 펌웨어 업데이트를 통해 이 교정의 정확성과 호환성을 계속 개선하고 있습니"
"다.\n"
"\n"
"주의: 압출량 교정은 목적과 의미를 완전히 이해하는 사람만이 시도할 수 있는 고"
-"급 프로세스입니다. 잘못 사용하면 수준 이하의 출력이나 프린터 손상이 발생할 "
-"수 있습니다. 반드시 절차를 주의 깊게 읽고 이해하신 후 진행하시기 바랍니다."
+"급 프로세스입니다. 잘못 사용하면 수준 이하의 출력이나 프린터 손상이 발생할 수 "
+"있습니다. 반드시 절차를 주의 깊게 읽고 이해하신 후 진행하시기 바랍니다."
msgid "When you need Max Volumetric Speed Calibration"
msgstr "최대 압출 속도 교정이 필요한 경우"
@@ -15825,15 +15787,15 @@ msgid "We found the best Flow Dynamics Calibration Factor"
msgstr "최고의 동적 압출량 교정 계수를 찾았습니다"
msgid ""
-"Part of the calibration failed! You may clean the plate and retry. The "
-"failed test result would be dropped."
+"Part of the calibration failed! You may clean the plate and retry. The failed "
+"test result would be dropped."
msgstr ""
"교정의 일부가 실패했습니다! 플레이트를 청소하고 다시 시도할 수 있습니다. 실패"
"한 테스트 결과는 삭제됩니다."
msgid ""
-"*We recommend you to add brand, materia, type, and even humidity level in "
-"the Name"
+"*We recommend you to add brand, materia, type, and even humidity level in the "
+"Name"
msgstr "*이름에 브랜드, 재질, 유형, 습도까지 추가하는 것이 좋습니다"
msgid "Failed"
@@ -15849,8 +15811,7 @@ msgid ""
"Only one of the results with the same name will be saved. Are you sure you "
"want to overwrite the other results?"
msgstr ""
-"단 하나의 결과만을 같은 이름으로 저장할 수 있습니다. 다른 결과들을 덮어쓸까"
-"요?"
+"단 하나의 결과만을 같은 이름으로 저장할 수 있습니다. 다른 결과들을 덮어쓸까요?"
msgid "Please find the best line on your plate"
msgstr "당신의 플레이트에서 가장 좋은 선을 찾아보세요"
@@ -15926,8 +15887,8 @@ msgid ""
"A test model will be printed. Please clear the build plate and place it back "
"to the hot bed before calibration."
msgstr ""
-"테스트 모델이 출력됩니다. 교정 전에 빌드 플레이트를 청소하고 히트 베드에 다"
-"시 올려놓으십시오."
+"테스트 모델이 출력됩니다. 교정 전에 빌드 플레이트를 청소하고 히트 베드에 다시 "
+"올려놓으십시오."
msgid "Printing Parameters"
msgstr "출력 매개변수"
@@ -16050,7 +16011,7 @@ msgid ""
"There are several IP addresses resolving to hostname %1%.\n"
"Please select one that should be used."
msgstr ""
-"호스트 이름 %1%(으)로 확인되는 IP 주소가 여러 개 있습니다.\n"
+"호스트 이름 %1%으로 확인되는 IP 주소가 여러 개 있습니다.\n"
"사용 할 IP를 선택해 주세요."
msgid "PA Calibration"
@@ -16209,7 +16170,7 @@ msgid "mm/mm"
msgstr "mm/mm"
msgid "Send G-code to printer host"
-msgstr "G코드를 프린터 호스트로 보내기"
+msgstr "Gcode를 프린터 호스트로 보내기"
msgid "Upload to Printer Host with the following filename:"
msgstr "다음 파일 이름으로 프린터 호스트에 업로드:"
@@ -16268,8 +16229,8 @@ msgid "Error uploading to print host"
msgstr "출력 호스트에 업로드하는 중 오류가 발생했습니다"
msgid ""
-"The selected bed type does not match the file. Please confirm before "
-"starting the print."
+"The selected bed type does not match the file. Please confirm before starting "
+"the print."
msgstr ""
"선택한 베드 유형이 파일과 일치하지 않습니다. 출력을 시작하기 전에 확인해 주세"
"요."
@@ -16414,8 +16375,8 @@ msgstr "공급업체가 선택되지 않았습니다. 공급업체를 다시 선
msgid "Custom vendor is not input, please input custom vendor."
msgstr ""
-"사용자 정의 공급업체가 입력되지 않았습니다. 사용자 정의 공급업체를 입력해 주"
-"세요."
+"사용자 정의 공급업체가 입력되지 않았습니다. 사용자 정의 공급업체를 입력해 주세"
+"요."
msgid ""
"\"Bambu\" or \"Generic\" cannot be used as a Vendor for custom filaments."
@@ -16468,9 +16429,8 @@ msgstr ""
"다시 작성하시겠습니까?"
msgid ""
-"We would rename the presets as \"Vendor Type Serial @printer you "
-"selected\".\n"
-"To add preset for more printers, please go to printer selection"
+"We would rename the presets as \"Vendor Type Serial @printer you selected\".\n"
+"To add preset for more printers, Please go to printer selection"
msgstr ""
"사전 설정의 이름을 \"선택한 공급업체 유형 직렬 @프린터\"로 변경합니다.\n"
"더 많은 프린터에 대한 사전 설정을 추가하려면 프린터 선택으로 이동하세요"
@@ -16577,8 +16537,8 @@ msgid ""
"You have entered an illegal input in the printable area section on the first "
"page. Please check before creating it."
msgstr ""
-"첫 번째 페이지의 출력 가능 영역 섹션에 잘못된 입력을 입력했습니다. 작성 전 "
-"꼭 확인해주세요."
+"첫 번째 페이지의 출력 가능 영역 섹션에 잘못된 입력을 입력했습니다. 작성 전 꼭 "
+"확인해주세요."
msgid "The custom printer or model is not entered, please enter it."
msgstr "사용자 정의 프린터 또는 모델이 입력되지 않았습니다. 입력하세요."
@@ -16621,21 +16581,21 @@ msgid ""
"You have not selected the vendor and model or entered the custom vendor and "
"model."
msgstr ""
-"공급업체 및 모델을 선택하지 않았거나 맞춤 공급업체 및 모델을 입력하지 않았습"
-"니다."
+"공급업체 및 모델을 선택하지 않았거나 맞춤 공급업체 및 모델을 입력하지 않았습니"
+"다."
msgid ""
"There may be escape characters in the custom printer vendor or model. Please "
"delete and re-enter."
msgstr ""
-"사용자 정의 프린터 공급업체 또는 모델에 이스케이프 문자가 있을 수 있습니다. "
-"삭제하고 다시 입력해주세요."
+"사용자 정의 프린터 공급업체 또는 모델에 이스케이프 문자가 있을 수 있습니다. 삭"
+"제하고 다시 입력해주세요."
msgid ""
"All inputs in the custom printer vendor or model are spaces. Please re-enter."
msgstr ""
-"사용자 정의 프린터 공급업체 또는 모델의 모든 입력은 공백입니다. 다시 입력해 "
-"주세요."
+"사용자 정의 프린터 공급업체 또는 모델의 모든 입력은 공백입니다. 다시 입력해 주"
+"세요."
msgid "Please check bed printable shape and origin input."
msgstr "출력 가능한 베드 형태를 확인해주세요."
@@ -16721,8 +16681,8 @@ msgstr "내보내기 성공"
#, c-format, boost-format
msgid ""
-"The '%s' folder already exists in the current directory. Do you want to "
-"clear it and rebuild it.\n"
+"The '%s' folder already exists in the current directory. Do you want to clear "
+"it and rebuild it.\n"
"If not, a time suffix will be added, and you can modify the name after "
"creation."
msgstr ""
@@ -16771,12 +16731,11 @@ msgstr ""
msgid ""
"Only printer names with changed process presets will be displayed, \n"
-"and all user process presets in each printer name you select will be "
-"exported as a zip."
+"and all user process presets in each printer name you select will be exported "
+"as a zip."
msgstr ""
"프로세스 사전 설정이 변경된 프린터 이름만 표시됩니다.\n"
-"선택한 각 프린터 이름의 모든 사용자 프로세스 사전 설정은 zip으로 내보내집니"
-"다."
+"선택한 각 프린터 이름의 모든 사용자 프로세스 사전 설정은 zip으로 내보내집니다."
msgid "Please select at least one printer or filament."
msgstr "프린터나 필라멘트를 하나 이상 선택해 주세요."
@@ -16794,8 +16753,8 @@ msgid "Filament presets under this filament"
msgstr "이 필라멘트 아래의 필라멘트 사전 설정"
msgid ""
-"Note: If the only preset under this filament is deleted, the filament will "
-"be deleted after exiting the dialog."
+"Note: If the only preset under this filament is deleted, the filament will be "
+"deleted after exiting the dialog."
msgstr ""
"참고: 이 필라멘트 아래의 유일한 사전 설정이 삭제되면 대화 상자를 종료한 후 필"
"라멘트가 삭제됩니다."
@@ -16869,8 +16828,8 @@ msgid ""
"Your nozzle diameter in preset is not consistent with memorized nozzle "
"diameter. Did you change your nozzle lately?"
msgstr ""
-"미리 설정된 노즐 직경이 기억된 노즐 직경과 일치하지 않습니다.직경. 최근에 노"
-"즐을 바꾸셨나요?"
+"미리 설정된 노즐 직경이 기억된 노즐 직경과 일치하지 않습니다.직경. 최근에 노즐"
+"을 바꾸셨나요?"
#, c-format, boost-format
msgid "*Printing %s material with %s may cause nozzle damage"
@@ -16920,8 +16879,8 @@ msgid ""
"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-"
"signed certificate."
msgstr ""
-"HTTPS CA 파일은 선택 사항입니다. 자체 서명된 인증서와 함께 HTTPS를 사용하는 "
-"경우에만 필요합니다."
+"HTTPS CA 파일은 선택 사항입니다. 자체 서명된 인증서와 함께 HTTPS를 사용하는 경"
+"우에만 필요합니다."
msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*"
msgstr "인증서 파일 (*.crt, *.pem)|*.crt;*.pem|All files|*.*"
@@ -16940,8 +16899,8 @@ msgid ""
"To use a custom CA file, please import your CA file into Certificate Store / "
"Keychain."
msgstr ""
-"사용자 정의 CA 파일을 사용하려면 CA 파일을 인증서 저장소/키체인으로 가져오십"
-"시오."
+"사용자 정의 CA 파일을 사용하려면 CA 파일을 인증서 저장소/키체인으로 가져오십시"
+"오."
msgid "Login/Test"
msgstr "로그인/테스트"
@@ -17085,17 +17044,17 @@ msgid ""
"It has a small layer height. This results in almost negligible layer lines "
"and high print quality. It is suitable for most printing cases."
msgstr ""
-"레이어 높이가 작기 때문에 레이어 라인이 거의 무시할 수 있고 출력 품질이 높습"
-"니다. 대부분의 일반적인 출력 케이스에 적합합니다."
+"레이어 높이가 작기 때문에 레이어 라인이 거의 무시할 수 있고 출력 품질이 높습니"
+"다. 대부분의 일반적인 출력 케이스에 적합합니다."
msgid ""
-"Compared with the default profile of a 0.2 mm nozzle, it has lower speeds "
-"and acceleration, and the sparse infill pattern is Gyroid. This results in "
-"much higher print quality but a much longer print time."
+"Compared with the default profile of a 0.2 mm nozzle, it has lower speeds and "
+"acceleration, and the sparse infill pattern is Gyroid. This results in much "
+"higher print quality but a much longer print time."
msgstr ""
-"0.2mm 노즐의 기본 프로파일과 비교하면 속도와 가속도가 낮고 성긴 채우기 패턴"
-"은 자이로이드입니다. 따라서 출력 품질은 훨씬 높아지지만 출력 시간은 훨씬 길어"
-"집니다."
+"0.2mm 노즐의 기본 프로파일과 비교하면 속도와 가속도가 낮고 성긴 채우기 패턴은 "
+"자이로이드입니다. 따라서 출력 품질은 훨씬 높아지지만 출력 시간은 훨씬 길어집니"
+"다."
msgid ""
"Compared with the default profile of a 0.2 mm nozzle, it has a slightly "
@@ -17114,11 +17073,11 @@ msgstr ""
msgid ""
"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer "
-"height. This results in almost invisible layer lines and higher print "
-"quality but shorter print time."
+"height. This results in almost invisible layer lines and higher print quality "
+"but shorter print time."
msgstr ""
-"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 라인이 "
-"거의 보이지 않고 출력 품질이 높아지지만 출력 시간은 단축됩니다."
+"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 라인이 거"
+"의 보이지 않고 출력 품질이 높아지지만 출력 시간은 단축됩니다."
msgid ""
"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer "
@@ -17126,27 +17085,27 @@ msgid ""
"Gyroid. This results in almost invisible layer lines and much higher print "
"quality but much longer print time."
msgstr ""
-"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 라인이 더 작고 속도와 가속도가 "
-"낮으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 선이 거의 보이지 않"
-"고 출력 품질이 훨씬 높아지지만 출력 시간은 훨씬 길어집니다."
+"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 라인이 더 작고 속도와 가속도가 낮"
+"으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 선이 거의 보이지 않고 "
+"출력 품질이 훨씬 높아지지만 출력 시간은 훨씬 길어집니다."
msgid ""
"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer "
"height. This results in minimal layer lines and higher print quality, but "
"shorter print time."
msgstr ""
-"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 라인이 "
-"최소화되고 출력 품질이 높아지지만 출력 시간은 단축됩니다."
+"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 라인이 최"
+"소화되고 출력 품질이 높아지지만 출력 시간은 단축됩니다."
msgid ""
"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer "
"lines, lower speeds and acceleration, and the sparse infill pattern is "
-"Gyroid. This results in minimal layer lines and much higher print quality "
-"but much longer print time."
+"Gyroid. This results in minimal layer lines and much higher print quality but "
+"much longer print time."
msgstr ""
-"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 라인이 더 작고 속도와 가속도가 "
-"낮으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 라인이 최소화되고 "
-"출력 품질이 훨씬 높아지지만 출력 시간은 훨씬 길어집니다."
+"0.2mm 노즐의 기본 프로파일과 비교하면 레이어 라인이 더 작고 속도와 가속도가 낮"
+"으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 라인이 최소화되고 출"
+"력 품질이 훨씬 높아지지만 출력 시간은 훨씬 길어집니다."
msgid ""
"It has a normal layer height. This results in average layer lines and print "
@@ -17157,12 +17116,12 @@ msgstr ""
msgid ""
"Compared with the default profile of a 0.4 mm nozzle, it has more wall loops "
-"and a higher sparse infill density. This results in higher print strength "
-"but more filament consumption and longer print time."
+"and a higher sparse infill density. This results in higher print strength but "
+"more filament consumption and longer print time."
msgstr ""
-"0.4mm 노즐의 기본 프로파일과 비교하여 더 많은 벽 루프와 더 높은 성긴 채우기 "
-"밀도를 갖습니다. 따라서 출력 강도는 높아지지만 필라멘트 소비가 늘어나고 출력 "
-"시간이 길어집니다."
+"0.4mm 노즐의 기본 프로파일과 비교하여 더 많은 벽 루프와 더 높은 성긴 채우기 밀"
+"도를 갖습니다. 따라서 출력 강도는 높아지지만 필라멘트 소비가 늘어나고 출력 시"
+"간이 길어집니다."
msgid ""
"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer "
@@ -17194,9 +17153,9 @@ msgid ""
"Gyroid. This results in less apparent layer lines and much higher print "
"quality but much longer print time."
msgstr ""
-"0.4mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작고 속도와 가속도가 "
-"낮으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 선이 덜 뚜렷해지고 "
-"출력 품질이 훨씬 높아지지만 출력 시간은 훨씬 길어집니다."
+"0.4mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작고 속도와 가속도가 낮"
+"으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 선이 덜 뚜렷해지고 출"
+"력 품질이 훨씬 높아지지만 출력 시간은 훨씬 길어집니다."
msgid ""
"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer "
@@ -17212,16 +17171,16 @@ msgid ""
"Gyroid. This results in almost negligible layer lines and much higher print "
"quality but much longer print time."
msgstr ""
-"0.4mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작고 속도와 가속도가 "
-"낮으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 라인은 거의 무시할 "
-"수 있고 출력 품질은 훨씬 높지만 출력 시간은 훨씬 길어집니다."
+"0.4mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작고 속도와 가속도가 낮"
+"으며 성긴 채우기 패턴은 자이로이드입니다. 따라서 레이어 라인은 거의 무시할 수 "
+"있고 출력 품질은 훨씬 높지만 출력 시간은 훨씬 길어집니다."
msgid ""
"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer "
"height. This results in almost negligible layer lines and longer print time."
msgstr ""
-"0.4mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 라인을 "
-"거의 무시할 수 있고 출력 시간이 길어집니다."
+"0.4mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 라인을 거"
+"의 무시할 수 있고 출력 시간이 길어집니다."
msgid ""
"It has a big layer height. This results in apparent layer lines and ordinary "
@@ -17232,12 +17191,12 @@ msgstr ""
msgid ""
"Compared with the default profile of a 0.6 mm nozzle, it has more wall loops "
-"and a higher sparse infill density. This results in higher print strength "
-"but more filament consumption and longer print time."
+"and a higher sparse infill density. This results in higher print strength but "
+"more filament consumption and longer print time."
msgstr ""
-"0.6mm 노즐의 기본 프로파일과 비교하여 더 많은 벽 루프와 더 높은 성긴 채우기 "
-"밀도를 갖습니다. 따라서 출력 강도는 높아지지만 필라멘트 소비가 늘어나고 출력 "
-"시간이 길어집니다."
+"0.6mm 노즐의 기본 프로파일과 비교하여 더 많은 벽 루프와 더 높은 성긴 채우기 밀"
+"도를 갖습니다. 따라서 출력 강도는 높아지지만 필라멘트 소비가 늘어나고 출력 시"
+"간이 길어집니다."
msgid ""
"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer "
@@ -17253,8 +17212,8 @@ msgid ""
"quality, but shorter print time in some cases."
msgstr ""
"0.6mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 크고 레이어 라인이 훨"
-"씬 더 뚜렷해지고 출력 품질이 훨씬 낮아지지만 일부 출력의 경우 출력 시간이 짧"
-"아집니다."
+"씬 더 뚜렷해지고 출력 품질이 훨씬 낮아지지만 일부 출력의 경우 출력 시간이 짧아"
+"집니다."
msgid ""
"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer "
@@ -17276,8 +17235,8 @@ msgid ""
"It has a very big layer height. This results in very apparent layer lines, "
"low print quality and general print time."
msgstr ""
-"레이어 높이가 매우 커서 레이어 선이 매우 뚜렷하고 출력 품질이 낮으며 일반적"
-"인 출력 시간이 소요됩니다."
+"레이어 높이가 매우 커서 레이어 선이 매우 뚜렷하고 출력 품질이 낮으며 일반적인 "
+"출력 시간이 소요됩니다."
msgid ""
"Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer "
@@ -17294,8 +17253,8 @@ msgid ""
"print quality but much shorter print time in some cases."
msgstr ""
"0.8mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 훨씬 더 크고 레이어 라인"
-"이 매우 뚜렷해지고 출력 품질이 훨씬 낮아지지만 일부 출력의 경우 출력 시간이 "
-"훨씬 짧아집니다."
+"이 매우 뚜렷해지고 출력 품질이 훨씬 낮아지지만 일부 출력의 경우 출력 시간이 훨"
+"씬 짧아집니다."
msgid ""
"Compared with the default profile of a 0.8 mm nozzle, it has a slightly "
@@ -17311,9 +17270,9 @@ msgid ""
"height. This results in less but still apparent layer lines and slightly "
"higher print quality, but longer print time in some cases."
msgstr ""
-"0.8mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 선은 적"
-"지만 여전히 뚜렷하고 출력 품질은 약간 높지만 일부 출력의 경우 출력 시간이 길"
-"어집니다."
+"0.8mm 노즐의 기본 프로파일과 비교하면 레이어 높이가 더 작아서 레이어 선은 적지"
+"만 여전히 뚜렷하고 출력 품질은 약간 높지만 일부 출력의 경우 출력 시간이 길어집"
+"니다."
msgid "Connected to Obico successfully!"
msgstr "Obico에 성공적으로 연결되었습니다!"
@@ -17384,11 +17343,10 @@ msgid "Adjust section view"
msgstr "섹션 보기 조정"
msgid ""
-"Warning: The brim type is not set to \"painted\", the brim ears will not "
-"take effect!"
+"Warning: The brim type is not set to \"painted\", the brim ears will not take "
+"effect!"
msgstr ""
-"경고: 브림 유형이 “페인트”로 설정되어 있지 않으면 브림 귀가 적용되지 않습니"
-"다!"
+"경고: 브림 유형이 “페인트”로 설정되어 있지 않으면 브림 귀가 적용되지 않습니다!"
msgid "Set the brim type to \"painted\""
msgstr "브림 유형을 “페인트”로 설정합니다."
@@ -17420,8 +17378,8 @@ msgid ""
"overhangs?"
msgstr ""
"샌드위치 모드\n"
-"모델에 가파른 오버행이 없는 경우 샌드위치 모드(내부-외부-내부)를 사용하여 정"
-"밀도와 레이어 일관성을 향상시킬 수 있다는 것을 알고 계셨나요?"
+"모델에 가파른 오버행이 없는 경우 샌드위치 모드(내부-외부-내부)를 사용하여 정밀"
+"도와 레이어 일관성을 향상시킬 수 있다는 것을 알고 계셨나요?"
#: resources/data/hints.ini: [hint:Chamber temperature]
msgid ""
@@ -17438,8 +17396,8 @@ msgid ""
"beloved calibration solution in OrcaSlicer."
msgstr ""
"보정\n"
-"프린터를 보정하면 놀라운 효과를 얻을 수 있다는 사실을 알고 계셨나요? 많은 사"
-"랑을 받고 있는 OrcaSlicer의 보정 솔루션을 확인해 보세요."
+"프린터를 보정하면 놀라운 효과를 얻을 수 있다는 사실을 알고 계셨나요? 많은 사랑"
+"을 받고 있는 OrcaSlicer의 보정 솔루션을 확인해 보세요."
#: resources/data/hints.ini: [hint:Auxiliary fan]
msgid ""
@@ -17487,12 +17445,12 @@ msgstr ""
#: resources/data/hints.ini: [hint:Reverse on odd]
msgid ""
"Reverse on odd\n"
-"Did you know that Reverse on odd feature can significantly improve "
-"the surface quality of your overhangs?"
+"Did you know that Reverse on odd feature can significantly improve the "
+"surface quality of your overhangs?"
msgstr ""
"홀수에 반전\n"
-"홀수에 반전 기능이 오버행의 표면 품질을 크게 향상시킬 수 있다는 사실"
-"을 알고 계셨나요?"
+"홀수에 반전 기능이 오버행의 표면 품질을 크게 향상시킬 수 있다는 사실을 "
+"알고 계셨나요?"
#: resources/data/hints.ini: [hint:Cut Tool]
msgid ""
@@ -17501,8 +17459,7 @@ msgid ""
"cutting tool?"
msgstr ""
"절단 도구\n"
-"절단 도구로 원하는 각도와 위치에서 모델을 자를 수 있다는 사실을 알고 계셨나"
-"요?"
+"절단 도구로 원하는 각도와 위치에서 모델을 자를 수 있다는 사실을 알고 계셨나요?"
#: resources/data/hints.ini: [hint:Fix Model]
msgid ""
@@ -17548,8 +17505,8 @@ msgid ""
"F key."
msgstr ""
"면에 위치\n"
-"모델의 바닥 표면을 빠르게 지정하여 출력 베드에 놓을 수 있다는 것을 알고 계셨"
-"나요? 면에 배치 기능을 선택하십시오. 또는F 키를 누르세요."
+"모델의 바닥 표면을 빠르게 지정하여 출력 베드에 놓을 수 있다는 것을 알고 계셨나"
+"요? 면에 배치 기능을 선택하십시오. 또는F 키를 누르세요."
#: resources/data/hints.ini: [hint:Object List]
msgid ""
@@ -17558,8 +17515,8 @@ msgid ""
"settings for each object/part?"
msgstr ""
"객체 목록\n"
-"목록의 모든 객체/부품을 보고 각 객체/부품에 대한 설정을 변경할 수 있다는 것"
-"을 알고 계섰나요?"
+"목록의 모든 객체/부품을 보고 각 객체/부품에 대한 설정을 변경할 수 있다는 것을 "
+"알고 계섰나요?"
#: resources/data/hints.ini: [hint:Search Functionality]
msgid ""
@@ -17568,8 +17525,8 @@ msgid ""
"Slicer setting?"
msgstr ""
"검색 기능\n"
-"검색 도구를 사용하여 원하는 Orca Slicer 설정을 빠르게 찾을 수 있다는 사실을 "
-"알고 계섰나요?"
+"검색 도구를 사용하여 원하는 Orca Slicer 설정을 빠르게 찾을 수 있다는 사실을 알"
+"고 계섰나요?"
#: resources/data/hints.ini: [hint:Simplify Model]
msgid ""
@@ -17578,8 +17535,8 @@ msgid ""
"Simplify mesh feature? Right-click the model and select Simplify model."
msgstr ""
"모델 단순화\n"
-"메시 단순화 기능을 사용하여 메시의 삼각형 수를 줄일 수 있다는 것을 알고 계셨"
-"나요? 모델을 마우스 오른쪽 버튼으로 클릭하고 모델 단순화를 선택하세요."
+"메시 단순화 기능을 사용하여 메시의 삼각형 수를 줄일 수 있다는 것을 알고 계셨나"
+"요? 모델을 마우스 오른쪽 버튼으로 클릭하고 모델 단순화를 선택하세요."
#: resources/data/hints.ini: [hint:Slicing Parameter Table]
msgid ""
@@ -17609,9 +17566,9 @@ msgid ""
"directly in Orca Slicer."
msgstr ""
"부품 빼기\n"
-"네거티브 부분 수정자를 사용하여 하나의 메시를 다른 메시에서 뺄 수 있다는 것"
-"을 알고 계섰나요? 예를 들어, 이렇게 하면 Orca Slicer에서 직접 쉽게 크기 조정"
-"이 가능한 구멍을 만들 수 있습니다."
+"네거티브 부분 수정자를 사용하여 하나의 메시를 다른 메시에서 뺄 수 있다는 것을 "
+"알고 계섰나요? 예를 들어, 이렇게 하면 Orca Slicer에서 직접 쉽게 크기 조정이 가"
+"능한 구멍을 만들 수 있습니다."
#: resources/data/hints.ini: [hint:STEP]
msgid ""
@@ -17624,8 +17581,8 @@ msgstr ""
"STEP\n"
"STL 대신 STEP 파일을 슬라이싱하여 출력 품질을 향상시킬 수 있다는 사실을 알고 "
"계섰나요?\n"
-"Orca Slicer는 STEP 파일 슬라이싱을 지원하며, 저해상도 STL을 사용할 때 보다 "
-"더 부드러운 결과를 얻을 수 있습니다. 시도해 보세요!"
+"Orca Slicer는 STEP 파일 슬라이싱을 지원하며, 저해상도 STL을 사용할 때 보다 더 "
+"부드러운 결과를 얻을 수 있습니다. 시도해 보세요!"
#: resources/data/hints.ini: [hint:Z seam location]
msgid ""
@@ -17636,15 +17593,15 @@ msgid ""
msgstr ""
"Z 재봉선 위치\n"
"Z 재봉선의 위치를 사용자 정의하고 출력물에 칠하여 잘 보이지 않는 위치에 배치"
-"할 수 있다는 사실을 알고 계섰나요? 이렇게 하면 모델의 전반적인 모양이 향상됩"
-"니다. 확인해 보세요!"
+"할 수 있다는 사실을 알고 계섰나요? 이렇게 하면 모델의 전반적인 모양이 향상됩니"
+"다. 확인해 보세요!"
#: resources/data/hints.ini: [hint:Fine-tuning for flow rate]
msgid ""
"Fine-tuning for flow rate\n"
-"Did you know that flow rate can be fine-tuned for even better-looking "
-"prints? Depending on the material, you can improve the overall finish of the "
-"printed model by doing some fine-tuning."
+"Did you know that flow rate can be fine-tuned for even better-looking prints? "
+"Depending on the material, you can improve the overall finish of the printed "
+"model by doing some fine-tuning."
msgstr ""
"압출량 미세 조정\n"
"더 보기 좋은 출력물을 위해 압출량을 미세 조정할 수 있다는 사실을 알고 계셨나"
@@ -17659,8 +17616,8 @@ msgid ""
"track of all the parts."
msgstr ""
"출력을 플레이트로 분할\n"
-"부품이 많은 모델을 출력할 준비가 된 개별 플레이트로 분할할 수 있다는 사실을 "
-"알고 계섰나요? 이렇게 하면 모든 부품을 추적하는 프로세스가 간소화됩니다."
+"부품이 많은 모델을 출력할 준비가 된 개별 플레이트로 분할할 수 있다는 사실을 알"
+"고 계섰나요? 이렇게 하면 모든 부품을 추적하는 프로세스가 간소화됩니다."
#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer
#: Height]
@@ -17677,8 +17634,8 @@ msgstr ""
msgid ""
"Support painting\n"
"Did you know that you can paint the location of your supports? This feature "
-"makes it easy to place the support material only on the sections of the "
-"model that actually need it."
+"makes it easy to place the support material only on the sections of the model "
+"that actually need it."
msgstr ""
"서포트 칠하기\n"
"서포트의 위치를 칠할 수 있다는 것을 알고 계섰나요? 이 기능을 사용하면 실제로 "
@@ -17693,8 +17650,8 @@ msgid ""
msgstr ""
"다양한 유형의 서포트\n"
"여러 유형의 서포트 중에서 선택할 수 있다는 것을 알고 계섰나요? 트리 서포트는 "
-"필라멘트를 절약하고 출력 속도를 향상시키면서 유기 모델에 적합합니다. 확인해 "
-"보세요!"
+"필라멘트를 절약하고 출력 속도를 향상시키면서 유기 모델에 적합합니다. 확인해 보"
+"세요!"
#: resources/data/hints.ini: [hint:Printing Silk Filament]
msgid ""
@@ -17710,8 +17667,8 @@ msgstr ""
#: resources/data/hints.ini: [hint:Brim for better adhesion]
msgid ""
"Brim for better adhesion\n"
-"Did you know that when printed models have a small contact interface with "
-"the printing surface, it's recommended to use a brim?"
+"Did you know that when printed models have a small contact interface with the "
+"printing surface, it's recommended to use a brim?"
msgstr ""
"접착력이 더 좋아지는 브림\n"
"모델을 출력할 때 베드 표면과의 접촉면이 작을 경우 브림을 사용하는 것이 권장된"
@@ -17724,8 +17681,8 @@ msgid ""
"one time?"
msgstr ""
"여러 객체에 대한 매개변수 설정\n"
-"선택한 모든 객체에 대한 슬라이싱 매개변수를 한 번에 설정할 수 있다는 사실을 "
-"알고 계섰나요?"
+"선택한 모든 객체에 대한 슬라이싱 매개변수를 한 번에 설정할 수 있다는 사실을 알"
+"고 계섰나요?"
#: resources/data/hints.ini: [hint:Stack objects]
msgid ""
@@ -17742,8 +17699,8 @@ msgid ""
"support/objects/infill during filament change?"
msgstr ""
"서포트/객체/채우기에 내보내기\n"
-"필라멘트를 교체하는 동안 낭비되는 필라멘트를 서포트/객체/채우기 출력에 활용"
-"할 수 있다는 사실을 알고 계섰나요?"
+"필라멘트를 교체하는 동안 낭비되는 필라멘트를 서포트/객체/채우기 출력에 활용할 "
+"수 있다는 사실을 알고 계섰나요?"
#: resources/data/hints.ini: [hint:Improve strength]
msgid ""
@@ -17765,8 +17722,8 @@ msgid ""
msgstr ""
"프린터 도어를 연 상태로 출력해야 하는 경우\n"
"더 높은 프린터 내부 온도로 낮은 온도의 필라멘트를 출력할 때 프린터 도어를 열"
-"면 압출기/핫엔드가 막힐 가능성을 줄일 수 있다는 것을 알고 계섰나요? 이에 대"
-"한 자세한 내용은 Wiki에서 확인하세요."
+"면 압출기/핫엔드가 막힐 가능성을 줄일 수 있다는 것을 알고 계섰나요? 이에 대한 "
+"자세한 내용은 Wiki에서 확인하세요."
#: resources/data/hints.ini: [hint:Avoid warping]
msgid ""
@@ -17784,17 +17741,17 @@ msgstr ""
#~ "support volume but weaker strength.\n"
#~ "We recommend using it with: 0 interface layers, 0 top distance, 2 walls."
#~ msgstr ""
-#~ "서포트 부피는 작지만 강도는 약한 것이 특징인 실험적 모양 \"얇은 트리\"를 "
-#~ "추가했습니다.\n"
+#~ "서포트 부피는 작지만 강도는 약한 것이 특징인 실험적 모양 \"얇은 트리\"를 추"
+#~ "가했습니다.\n"
#~ "접점 레이어 0, 상단 Z 거리 0, 벽 루프 2 와 함께 사용하는 것이 좋습니다."
#~ msgid ""
-#~ "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the "
-#~ "following settings: at least 2 interface layers, at least 0.1mm top z "
-#~ "distance or using support materials on interface."
+#~ "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following "
+#~ "settings: at least 2 interface layers, at least 0.1mm top z distance or "
+#~ "using support materials on interface."
#~ msgstr ""
-#~ "\"강한 트리\" 및 \"혼합 트리\" 모양의 경우 최소 접점 레이어 2, 상단 Z 거"
-#~ "리 0.1 또는 접점에서 서포트 재료를 사용하는 설정을 권장합니다."
+#~ "\"강한 트리\" 및 \"혼합 트리\" 모양의 경우 최소 접점 레이어 2, 상단 Z 거리 "
+#~ "0.1 또는 접점에서 서포트 재료를 사용하는 설정을 권장합니다."
#~ msgid "Branch Diameter with double walls"
#~ msgstr "이중 벽이 있는 가지 직경"
@@ -17865,8 +17822,7 @@ msgstr ""
#~ msgid ""
#~ "Step 1, please confirm Orca Slicer and your printer are in the same LAN."
#~ msgstr ""
-#~ "1단계, Orca Slicer와 프린터가 동일한 네트워크에 연결되어 있는지 확인하세"
-#~ "요."
+#~ "1단계, Orca Slicer와 프린터가 동일한 네트워크에 연결되어 있는지 확인하세요."
#~ msgid ""
#~ "Step 2, if the IP and Access Code below are different from the actual "
@@ -17898,9 +17854,9 @@ msgstr ""
#~ "wall which has large overhang degree. Forcing cooling for overhang and "
#~ "bridge can get better quality for these part"
#~ msgstr ""
-#~ "돌출부 정도가 큰 브릿지나 돌출부 벽을 출력할 때 출력물 냉각 팬을 이 속도"
-#~ "로 강제합니다. 돌출부와 브릿지를 강제 냉각하면 이러한 부품의 품질이 향상"
-#~ "될 수 있습니다"
+#~ "돌출부 정도가 큰 브릿지나 돌출부 벽을 출력할 때 출력물 냉각 팬을 이 속도로 "
+#~ "강제합니다. 돌출부와 브릿지를 강제 냉각하면 이러한 부품의 품질이 향상될 수 "
+#~ "있습니다"
#~ msgid "Cooling overhang threshold"
#~ msgstr "돌출부 냉각 임계값"
@@ -17912,9 +17868,9 @@ msgstr ""
#~ "width of the line without support from lower layer. 0% means forcing "
#~ "cooling for all outer wall no matter how much overhang degree"
#~ msgstr ""
-#~ "출력물의 돌출부 정도가 이 값을 초과하면 냉각 팬이 특정 속도가 되도록 강제"
-#~ "합니다. 서포트가 없는 하단 레이어 선 너비의 백분율로 표시됩니다. 0은 돌출"
-#~ "부 정도에 관계없이 모든 외벽을 강제 냉각한다는 의미입니다"
+#~ "출력물의 돌출부 정도가 이 값을 초과하면 냉각 팬이 특정 속도가 되도록 강제합"
+#~ "니다. 서포트가 없는 하단 레이어 선 너비의 백분율로 표시됩니다. 0은 돌출부 "
+#~ "정도에 관계없이 모든 외벽을 강제 냉각한다는 의미입니다"
#~ msgid "Bridge infill direction"
#~ msgstr "브릿지 채우기 방향"
@@ -17925,8 +17881,7 @@ msgstr ""
#~ msgid ""
#~ "Density of external bridges. 100% means solid bridge. Default is 100%."
#~ msgstr ""
-#~ "외부 브릿지의 밀도. 100%는 단단한 브릿지를 의미합니다. 기본값은 100%입니"
-#~ "다."
+#~ "외부 브릿지의 밀도. 100%는 단단한 브릿지를 의미합니다. 기본값은 100%입니다."
#~ msgid ""
#~ "Improve shell precision by adjusting outer wall spacing. This also "
@@ -17934,8 +17889,8 @@ msgstr ""
#~ "Note: This setting will only take effect if the wall sequence is "
#~ "configured to Inner-Outer"
#~ msgstr ""
-#~ "외벽 간격을 조정하여 쉘 정밀도를 향상시킵니다. 이는 또한 레이어 일관성을 "
-#~ "향상시킵니다.\n"
+#~ "외벽 간격을 조정하여 쉘 정밀도를 향상시킵니다. 이는 또한 레이어 일관성을 향"
+#~ "상시킵니다.\n"
#~ "참고: 이 설정은 벽 시퀀스가 내부-외부로 구성된 경우에만 적용됩니다"
#~ msgid "Thick bridges"
@@ -17945,21 +17900,21 @@ msgstr ""
#~ msgstr "작은 내부 브릿지 필터링(베타)"
#~ msgid ""
-#~ "This option can help reducing pillowing on top surfaces in heavily "
-#~ "slanted or curved models.\n"
+#~ "This option can help reducing pillowing on top surfaces in heavily slanted "
+#~ "or curved models.\n"
#~ "\n"
-#~ "By default, small internal bridges are filtered out and the internal "
-#~ "solid infill is printed directly over the sparse infill. This works well "
-#~ "in most cases, speeding up printing without too much compromise on top "
-#~ "surface quality.\n"
+#~ "By default, small internal bridges are filtered out and the internal solid "
+#~ "infill is printed directly over the sparse infill. This works well in most "
+#~ "cases, speeding up printing without too much compromise on top surface "
+#~ "quality.\n"
#~ "\n"
#~ "However, in heavily slanted or curved models especially where too low "
#~ "sparse infill density is used, this may result in curling of the "
#~ "unsupported solid infill, causing pillowing.\n"
#~ "\n"
#~ "Disabling this option will print internal bridge layer over slightly "
-#~ "unsupported internal solid infill. The options below control the amount "
-#~ "of filtering, i.e. the amount of internal bridges created.\n"
+#~ "unsupported internal solid infill. The options below control the amount of "
+#~ "filtering, i.e. the amount of internal bridges created.\n"
#~ "\n"
#~ "Filter - enable this option. This is the default behavior and works well "
#~ "in most cases.\n"
@@ -17972,30 +17927,30 @@ msgstr ""
#~ "overhang. This option is useful for heavily slanted top surface models. "
#~ "However, in most cases it creates too many unnecessary bridges."
#~ msgstr ""
-#~ "이 옵션은 심하게 기울어지거나 곡선이 있는 모델의 상단 표면이 눌리는 현상"
-#~ "을 줄이는 데 도움이 될 수 있습니다.\n"
+#~ "이 옵션은 심하게 기울어지거나 곡선이 있는 모델의 상단 표면이 눌리는 현상을 "
+#~ "줄이는 데 도움이 될 수 있습니다.\n"
#~ "\n"
#~ "기본적으로 작은 내부 브릿지는 필터링되고 내부 솔리드 채우기는 희박한 채우"
-#~ "기 위에 직접 출력됩니다. 이는 대부분의 경우에 잘 작동하여 상단 표면 품질"
-#~ "을 크게 저하시키지 않고 출력 속도를 높입니다.\n"
+#~ "기 위에 직접 출력됩니다. 이는 대부분의 경우에 잘 작동하여 상단 표면 품질을 "
+#~ "크게 저하시키지 않고 출력 속도를 높입니다.\n"
#~ "\n"
-#~ "그러나 특히 너무 낮은 희박 채우기 밀도가 사용되는 심하게 기울어지거나 곡"
-#~ "선 모델에서는 지지되지 않는 고체 채우기가 말려 베개 현상이 발생할 수 있습"
-#~ "니다.\n"
+#~ "그러나 특히 너무 낮은 희박 채우기 밀도가 사용되는 심하게 기울어지거나 곡선 "
+#~ "모델에서는 지지되지 않는 고체 채우기가 말려 베개 현상이 발생할 수 있습니"
+#~ "다.\n"
#~ "\n"
-#~ "이 옵션을 비활성화하면 약간 지원되지 않는 내부 솔리드 채우기 위에 내부 브"
-#~ "릿지 레이어가 출력됩니다. 아래 옵션은 필터링 양, 즉 생성된 내부 브릿지 양"
-#~ "을 제어합니다.\n"
+#~ "이 옵션을 비활성화하면 약간 지원되지 않는 내부 솔리드 채우기 위에 내부 브릿"
+#~ "지 레이어가 출력됩니다. 아래 옵션은 필터링 양, 즉 생성된 내부 브릿지 양을 "
+#~ "제어합니다.\n"
#~ "\n"
-#~ "필터 - 이 옵션을 활성화합니다. 이는 기본 동작이며 대부분의 경우 잘 작동합"
-#~ "니다.\n"
+#~ "필터 - 이 옵션을 활성화합니다. 이는 기본 동작이며 대부분의 경우 잘 작동합니"
+#~ "다.\n"
#~ "\n"
-#~ "제한된 필터링 - 불필요한 내부 브릿지 생성을 방지하면서 심하게 기울어진 표"
-#~ "면에 내부 브릿지를 생성합니다. 이는 대부분의 어려운 모델에 적합합니다.\n"
+#~ "제한된 필터링 - 불필요한 내부 브릿지 생성을 방지하면서 심하게 기울어진 표면"
+#~ "에 내부 브릿지를 생성합니다. 이는 대부분의 어려운 모델에 적합합니다.\n"
#~ "\n"
-#~ "필터링 없음 - 잠재적인 모든 내부 돌출부에 내부 브릿지를 생성합니다. 이 옵"
-#~ "션은 심하게 기울어진 상단 표면 모델에 유용합니다. 그러나 대부분의 경우 불"
-#~ "필요한 브릿지가 너무 많이 생성됩니다."
+#~ "필터링 없음 - 잠재적인 모든 내부 돌출부에 내부 브릿지를 생성합니다. 이 옵션"
+#~ "은 심하게 기울어진 상단 표면 모델에 유용합니다. 그러나 대부분의 경우 불필요"
+#~ "한 브릿지가 너무 많이 생성됩니다."
#~ msgid ""
#~ "This fan speed is enforced during all support interfaces, to be able to "
@@ -18016,6 +17971,14 @@ msgstr ""
#~ "더 나은 레이어 냉각을 위해 속도를 낮추는 경우 위의 최소 레이어 시간을 유지"
#~ "하기 위해 프린터가 느려지는 최소 출력 속도입니다."
+#~ msgid ""
+#~ "normal(auto) and tree(auto) is used to generate support automatically. If "
+#~ "normal(manual) or tree(manual) is selected, only support enforcers are "
+#~ "generated"
+#~ msgstr ""
+#~ "일반(자동) 및 트리(자동)은 서포트를 자동으로 생성합니다. 일반(수동) 또는 트"
+#~ "리(수동) 선택시에는 강제된 서포트만 생성됩니다"
+
#~ msgid "ShiftLeft mouse button"
#~ msgstr "Shift + 왼쪽 마우스 버튼"
@@ -18056,8 +18019,8 @@ msgstr ""
#~ "역방향 돌출부 위에 부분이 있는 돌출 둘레홀수 레이어의 방향입니다. 이 교대 "
#~ "패턴은 크게 향상될 수 있습니다.가파른 돌출부.\n"
#~ "\n"
-#~ "이 설정은 또한 감소로 인한 부품 뒤틀림을 줄이는 데 도움이 될 수 있습니다."
-#~ "부분 벽의 응력."
+#~ "이 설정은 또한 감소로 인한 부품 뒤틀림을 줄이는 데 도움이 될 수 있습니다.부"
+#~ "분 벽의 응력."
#~ msgid ""
#~ "Apply the reverse perimeters logic only on internal perimeters.\n"
@@ -18066,8 +18029,8 @@ msgstr ""
#~ "alternating directions. This should reduce part warping while also "
#~ "maintaining external wall quality. This feature can be very useful for "
#~ "warp prone material, like ABS/ASA, and also for elastic filaments, like "
-#~ "TPU and Silk PLA. It can also help reduce warping on floating regions "
-#~ "over supports.\n"
+#~ "TPU and Silk PLA. It can also help reduce warping on floating regions over "
+#~ "supports.\n"
#~ "\n"
#~ "For this setting to be the most effective, it is recommended to set the "
#~ "Reverse Threshold to 0 so that all internal walls print in alternating "
@@ -18075,15 +18038,15 @@ msgstr ""
#~ msgstr ""
#~ "내부 경계에만 역방향 경계 논리를 적용합니다.\n"
#~ "\n"
-#~ "이 설정은 부품 응력이 이제 분산되어 있으므로 부품 응력을 크게 줄여줍니다."
-#~ "교대 방향. 이렇게 하면 부품 뒤틀림도 줄어들고 동시에 외벽 품질 유지. 이 기"
-#~ "능은 워프에 매우 유용할 수 있습니다.ABS/ASA와 같은 취약한 소재와 TPU 및 탄"
-#~ "성 필라멘트에도 사용 가능실크 PLA. 또한 부동 영역의 뒤틀림을 줄이는 데 도"
-#~ "움이 될 수 있습니다.지원합니다.\n"
+#~ "이 설정은 부품 응력이 이제 분산되어 있으므로 부품 응력을 크게 줄여줍니다.교"
+#~ "대 방향. 이렇게 하면 부품 뒤틀림도 줄어들고 동시에 외벽 품질 유지. 이 기능"
+#~ "은 워프에 매우 유용할 수 있습니다.ABS/ASA와 같은 취약한 소재와 TPU 및 탄성 "
+#~ "필라멘트에도 사용 가능실크 PLA. 또한 부동 영역의 뒤틀림을 줄이는 데 도움이 "
+#~ "될 수 있습니다.지원합니다.\n"
#~ "\n"
#~ "이 설정을 가장 효과적으로 사용하려면 다음을 설정하는 것이 좋습니다.모든 내"
-#~ "부 벽이 교대로 출력되도록 임계값을 0으로 역방향오버행 정도에 관계없이 홀"
-#~ "수 레이어의 방향입니다."
+#~ "부 벽이 교대로 출력되도록 임계값을 0으로 역방향오버행 정도에 관계없이 홀수 "
+#~ "레이어의 방향입니다."
#, no-c-format, no-boost-format
#~ msgid ""
@@ -18096,20 +18059,20 @@ msgstr ""
#~ "값 0은 관계없이 모든 홀수 레이어에서 반전을 활성화합니다."
#~ msgid ""
-#~ "The direction which the wall loops are extruded when looking down from "
-#~ "the top.\n"
+#~ "The direction which the wall loops are extruded when looking down from the "
+#~ "top.\n"
#~ "\n"
#~ "By default all walls are extruded in counter-clockwise, unless Reverse on "
-#~ "odd is enabled. Set this to any option other than Auto will force the "
-#~ "wall direction regardless of the Reverse on odd.\n"
+#~ "odd is enabled. Set this to any option other than Auto will force the wall "
+#~ "direction regardless of the Reverse on odd.\n"
#~ "\n"
#~ "This option will be disabled if spiral vase mode is enabled."
#~ msgstr ""
#~ "위에서 아래를 내려다볼 때 벽 루프가 돌출되는 방향입니다.\n"
#~ "\n"
-#~ "홀수에 반전 설정이 활성화되지 않은 경우 기본적으로 모든 벽은 시계 반대 방"
-#~ "향으로 출력됩니다. 이것을 Auto 이외의 옵션으로 설정하면 홀수에 반전 설정"
-#~ "과 관계없이 벽 방향이 강제됩니다.\n"
+#~ "홀수에 반전 설정이 활성화되지 않은 경우 기본적으로 모든 벽은 시계 반대 방향"
+#~ "으로 출력됩니다. 이것을 Auto 이외의 옵션으로 설정하면 홀수에 반전 설정과 관"
+#~ "계없이 벽 방향이 강제됩니다.\n"
#~ "\n"
#~ "나선형 꽃병 모드가 활성화된 경우 이 옵션은 비활성화됩니다."
@@ -18132,8 +18095,8 @@ msgstr ""
#~ msgid ""
#~ "A draft shield is useful to protect an ABS or ASA print from warping and "
-#~ "detaching from print bed due to wind draft. It is usually needed only "
-#~ "with open frame printers, i.e. without an enclosure.\n"
+#~ "detaching from print bed due to wind draft. It is usually needed only with "
+#~ "open frame printers, i.e. without an enclosure.\n"
#~ "\n"
#~ "Options:\n"
#~ "Enabled = skirt is as tall as the highest printed object.\n"
@@ -18144,16 +18107,16 @@ msgstr ""
#~ "with them. To avoid this, increase the skirt distance value.\n"
#~ msgstr ""
#~ "드래프트 쉴드는 바람으로 인해 ABS 또는 ASA 인쇄물이 뒤틀리거나 인쇄 베드에"
-#~ "서 분리되는 것을 방지하는 데 유용합니다. 일반적으로 오픈 프레임 프린터, "
-#~ "즉 인클로저가 없는 경우에만 필요합니다.\n"
+#~ "서 분리되는 것을 방지하는 데 유용합니다. 일반적으로 오픈 프레임 프린터, 즉 "
+#~ "인클로저가 없는 경우에만 필요합니다.\n"
#~ "\n"
#~ "옵션:\n"
#~ "활성화됨 = 스커트가 가장 높은 인쇄물의 높이와 같습니다.\n"
#~ "제한됨 = 스커트가 스커트 높이에 지정된 높이만큼 높습니다.\n"
#~ "\n"
-#~ "참고: 드래프트 쉴드가 활성화되면 스커트는 객체로부터 스커트 거리에 인쇄됩"
-#~ "니다. 따라서 챙이 활성화된 경우 챙과 교차할 수 있습니다. 이를 방지하려면 "
-#~ "스커트 거리 값을 늘리십시오.\n"
+#~ "참고: 드래프트 쉴드가 활성화되면 스커트는 객체로부터 스커트 거리에 인쇄됩니"
+#~ "다. 따라서 챙이 활성화된 경우 챙과 교차할 수 있습니다. 이를 방지하려면 스커"
+#~ "트 거리 값을 늘리십시오.\n"
#~ msgid "Limited"
#~ msgstr "제한됨"
@@ -18175,30 +18138,30 @@ msgstr ""
#~ "거됩니다.\n"
#~ "\n"
#~ "참고: 모델 외부의 시각적 틈을 방지하기 위해 하단 및 상단 표면은 이 값의 영"
-#~ "향을 받지 않습니다. 상단 표면으로 간주되는 항목의 감도를 조정하려면 아래 "
-#~ "고급 설정에서 '벽 하나의 임계값'을 조정하세요. '하나의 벽 임계값'은 이 설"
-#~ "정이 기본값인 0.5보다 높게 설정되거나 단일 벽 상단 표면이 활성화된 경우에"
-#~ "만 표시됩니다."
+#~ "향을 받지 않습니다. 상단 표면으로 간주되는 항목의 감도를 조정하려면 아래 고"
+#~ "급 설정에서 '벽 하나의 임계값'을 조정하세요. '하나의 벽 임계값'은 이 설정"
+#~ "이 기본값인 0.5보다 높게 설정되거나 단일 벽 상단 표면이 활성화된 경우에만 "
+#~ "표시됩니다."
#~ msgid "Don't filter out small internal bridges (beta)"
#~ msgstr "작은 내부 브릿지를 필터링하지 마세요(베타)"
#~ msgid ""
-#~ "This option can help reducing pillowing on top surfaces in heavily "
-#~ "slanted or curved models.\n"
+#~ "This option can help reducing pillowing on top surfaces in heavily slanted "
+#~ "or curved models.\n"
#~ "\n"
-#~ "By default, small internal bridges are filtered out and the internal "
-#~ "solid infill is printed directly over the sparse infill. This works well "
-#~ "in most cases, speeding up printing without too much compromise on top "
-#~ "surface quality.\n"
+#~ "By default, small internal bridges are filtered out and the internal solid "
+#~ "infill is printed directly over the sparse infill. This works well in most "
+#~ "cases, speeding up printing without too much compromise on top surface "
+#~ "quality.\n"
#~ "\n"
#~ "However, in heavily slanted or curved models especially where too low "
#~ "sparse infill density is used, this may result in curling of the "
#~ "unsupported solid infill, causing pillowing.\n"
#~ "\n"
#~ "Enabling this option will print internal bridge layer over slightly "
-#~ "unsupported internal solid infill. The options below control the amount "
-#~ "of filtering, i.e. the amount of internal bridges created.\n"
+#~ "unsupported internal solid infill. The options below control the amount of "
+#~ "filtering, i.e. the amount of internal bridges created.\n"
#~ "\n"
#~ "Disabled - Disables this option. This is the default behavior and works "
#~ "well in most cases.\n"
@@ -18211,30 +18174,30 @@ msgstr ""
#~ "overhang. This option is useful for heavily slanted top surface models. "
#~ "However, in most cases it creates too many unnecessary bridges."
#~ msgstr ""
-#~ "이 옵션은 심하게 기울어지거나 곡선이 있는 모델의 상단 표면이 눌리는 현상"
-#~ "을 줄이는 데 도움이 될 수 있습니다.\n"
+#~ "이 옵션은 심하게 기울어지거나 곡선이 있는 모델의 상단 표면이 눌리는 현상을 "
+#~ "줄이는 데 도움이 될 수 있습니다.\n"
#~ "\n"
#~ "기본적으로 작은 내부 브릿지는 필터링되고 내부 솔리드 채우기는 희박한 채우"
-#~ "기 위에 직접 출력됩니다. 이는 대부분의 경우에 잘 작동하여 상단 표면 품질"
-#~ "을 크게 저하시키지 않고 출력 속도를 높입니다.\n"
+#~ "기 위에 직접 출력됩니다. 이는 대부분의 경우에 잘 작동하여 상단 표면 품질을 "
+#~ "크게 저하시키지 않고 출력 속도를 높입니다.\n"
#~ "\n"
-#~ "그러나 특히 너무 낮은 희박 채우기 밀도가 사용되는 심하게 기울어지거나 곡"
-#~ "선 모델에서는 지지되지 않는 고체 채우기가 말려 베개 현상이 발생할 수 있습"
-#~ "니다.\n"
+#~ "그러나 특히 너무 낮은 희박 채우기 밀도가 사용되는 심하게 기울어지거나 곡선 "
+#~ "모델에서는 지지되지 않는 고체 채우기가 말려 베개 현상이 발생할 수 있습니"
+#~ "다.\n"
#~ "\n"
#~ "이 옵션을 활성화하면 약간 지원되지 않는 내부 솔리드 채우기 위에 내부 브릿"
#~ "지 레이어가 출력됩니다. 아래 옵션은 필터링 양, 즉 생성된 내부 브릿지 양을 "
#~ "제어합니다.\n"
#~ "\n"
-#~ "비활성화됨 - 이 옵션을 비활성화합니다. 이는 기본 동작이며 대부분의 경우 "
-#~ "잘 작동합니다.\n"
+#~ "비활성화됨 - 이 옵션을 비활성화합니다. 이는 기본 동작이며 대부분의 경우 잘 "
+#~ "작동합니다.\n"
#~ "\n"
#~ "제한된 필터링 - 불필요한 내부 브릿지 생성을 피하면서 크게 기울어진 표면에 "
#~ "내부 브릿지를 생성합니다. 이는 가장 어려운 모델에 적합합니다.\n"
#~ "\n"
-#~ "필터링 없음 - 잠재적인 모든 내부 돌출부에 내부 브릿지를 생성합니다. 이 옵"
-#~ "션은 심하게 기울어진 상단 표면 모델에 유용합니다. 그러나 대부분의 경우 불"
-#~ "필요한 브릿지가 너무 많이 생성됩니다."
+#~ "필터링 없음 - 잠재적인 모든 내부 돌출부에 내부 브릿지를 생성합니다. 이 옵션"
+#~ "은 심하게 기울어진 상단 표면 모델에 유용합니다. 그러나 대부분의 경우 불필요"
+#~ "한 브릿지가 너무 많이 생성됩니다."
#~ msgid "Shrinkage"
#~ msgstr "수축"
@@ -18251,12 +18214,11 @@ msgstr ""
#~ "only\n"
#~ "3. Nowhere: Disables gap fill\n"
#~ msgstr ""
-#~ "선택한 표면에 대해 간격 채우기를 활성화합니다. 채워질 최소 간격 길이는 아"
-#~ "래의 작은 간격 필터링 옵션에서 제어할 수 있습니다.\n"
+#~ "선택한 표면에 대해 간격 채우기를 활성화합니다. 채워질 최소 간격 길이는 아래"
+#~ "의 작은 간격 필터링 옵션에서 제어할 수 있습니다.\n"
#~ "\n"
#~ "옵션:\n"
-#~ "1. 어디에서나: 상단, 하단 및 내부 솔리드 표면에 간격 채우기를 적용합니"
-#~ "다.\n"
+#~ "1. 어디에서나: 상단, 하단 및 내부 솔리드 표면에 간격 채우기를 적용합니다.\n"
#~ "2. 상단 및 하단 표면: 상단 및 하단 표면에만 간격 채우기를 적용합니다.\n"
#~ "3. 아무데도: 간격 채우기를 비활성화합니다.\n"
@@ -18266,20 +18228,20 @@ msgstr ""
#~ msgstr "이 값을 약간(예: 0.9) 줄여 브릿지의 압출량을 줄여 처짐을 개선합니다"
#~ msgid ""
-#~ "This value governs the thickness of the internal bridge layer. This is "
-#~ "the first layer over sparse infill. Decrease this value slightly (for "
-#~ "example 0.9) to improve surface quality over sparse infill."
+#~ "This value governs the thickness of the internal bridge layer. This is the "
+#~ "first layer over sparse infill. Decrease this value slightly (for example "
+#~ "0.9) to improve surface quality over sparse infill."
#~ msgstr ""
-#~ "이 값은 내부 브릿지 레이어의 두께를 결정합니다. 이것은 드문 채우기 위의 "
-#~ "첫 번째 레이어입니다. 드문 채우기보다 표면 품질을 향상시키려면 이 값을 약"
-#~ "간(예: 0.9) 줄입니다."
+#~ "이 값은 내부 브릿지 레이어의 두께를 결정합니다. 이것은 드문 채우기 위의 첫 "
+#~ "번째 레이어입니다. 드문 채우기보다 표면 품질을 향상시키려면 이 값을 약간"
+#~ "(예: 0.9) 줄입니다."
#~ msgid ""
#~ "This factor affects the amount of material for top solid infill. You can "
#~ "decrease it slightly to have smooth surface finish"
#~ msgstr ""
-#~ "이 값은 상단 꽉찬 내부 채우기의 재료의 양에 영향을 미칩니다. 부드러운 표"
-#~ "면 마감을 위해 약간 줄여도 됩니다"
+#~ "이 값은 상단 꽉찬 내부 채우기의 재료의 양에 영향을 미칩니다. 부드러운 표면 "
+#~ "마감을 위해 약간 줄여도 됩니다"
#~ msgid "This factor affects the amount of material for bottom solid infill"
#~ msgstr "이 값은 하단 꽉찬 내부 채우기의 재료의 양에 영향을 미칩니다"
@@ -18298,14 +18260,13 @@ msgstr ""
#~ "Speed of internal bridge. If the value is expressed as a percentage, it "
#~ "will be calculated based on the bridge_speed. Default value is 150%."
#~ msgstr ""
-#~ "내부 브릿지 속도. 값을 백분율로 표시하면 외부 브릿지 속도를 기준으로 계산"
-#~ "됩니다. 기본값은 150%입니다."
+#~ "내부 브릿지 속도. 값을 백분율로 표시하면 외부 브릿지 속도를 기준으로 계산됩"
+#~ "니다. 기본값은 150%입니다."
#~ msgid "Time to load new filament when switch filament. For statistics only"
#~ msgstr "필라멘트 교체 시 새 필라멘트를 넣는 시간입니다. 통계에만 사용됩니다"
-#~ msgid ""
-#~ "Time to unload old filament when switch filament. For statistics only"
+#~ msgid "Time to unload old filament when switch filament. For statistics only"
#~ msgstr ""
#~ "필라멘트를 교체할 때 기존 필라멘트를 빼는 시간입니다. 통계에만 사용됩니다"
@@ -18319,13 +18280,13 @@ msgstr ""
#~ "시간에 추가됩니다."
#~ msgid ""
-#~ "Time for the printer firmware (or the Multi Material Unit 2.0) to unload "
-#~ "a filament during a tool change (when executing the T code). This time is "
+#~ "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a "
+#~ "filament during a tool change (when executing the T code). This time is "
#~ "added to the total print time by the G-code time estimator."
#~ msgstr ""
-#~ "툴 교체 중(T 코드 실행 시) 프린터 펌웨어(또는 Multi Material Unit 2.0)가 "
-#~ "필라멘트를 빼는 시간입니다. 이 시간은 G코드 시간 계산기에 의해 총 출력 시"
-#~ "간에 추가됩니다."
+#~ "툴 교체 중(T 코드 실행 시) 프린터 펌웨어(또는 Multi Material Unit 2.0)가 필"
+#~ "라멘트를 빼는 시간입니다. 이 시간은 G코드 시간 계산기에 의해 총 출력 시간"
+#~ "에 추가됩니다."
#~ msgid "Filter out gaps smaller than the threshold specified"
#~ msgstr "지정된 임계값보다 작은 간격을 필터링합니다"
@@ -18348,15 +18309,15 @@ msgstr ""
#~ "temperature should not be high to avoid cloggings, so 0 which stands for "
#~ "turning off is highly recommended"
#~ msgstr ""
-#~ "챔버 온도가 높을수록 뒤틀림을 억제하거나 줄이는 데 도움이 될 수 있으며 잠"
-#~ "재적으로 ABS, ASA, PC, PA 등과 같은 고온 재료의 층간 결합 강도가 높아질 "
-#~ "수 있습니다. 동시에 ABS 및 ASA의 공기 여과는 더욱 악화됩니다. PLA, PETG, "
-#~ "TPU, PVA 및 기타 저온 재료의 경우 막힘을 방지하려면 실제 챔버 온도가 높지 "
-#~ "않아야 하므로 꺼짐을 의미하는 0을 적극 권장합니다"
+#~ "챔버 온도가 높을수록 뒤틀림을 억제하거나 줄이는 데 도움이 될 수 있으며 잠재"
+#~ "적으로 ABS, ASA, PC, PA 등과 같은 고온 재료의 층간 결합 강도가 높아질 수 있"
+#~ "습니다. 동시에 ABS 및 ASA의 공기 여과는 더욱 악화됩니다. PLA, PETG, TPU, "
+#~ "PVA 및 기타 저온 재료의 경우 막힘을 방지하려면 실제 챔버 온도가 높지 않아"
+#~ "야 하므로 꺼짐을 의미하는 0을 적극 권장합니다"
#~ msgid ""
-#~ "Different nozzle diameters and different filament diameters is not "
-#~ "allowed when prime tower is enabled."
+#~ "Different nozzle diameters and different filament diameters is not allowed "
+#~ "when prime tower is enabled."
#~ msgstr ""
#~ "다른 노즐 직경과 다른 필라멘트 직경은 허용되지 않습니다.프라임 타워가 활성"
#~ "화되면."
@@ -18366,8 +18327,7 @@ msgstr ""
#~ msgstr ""
#~ "현재 프라임 타워가 활성화된 상태에서는 누출 방지가 지원되지 않습니다."
-#~ msgid ""
-#~ "Interlocking depth of a segmented region. Zero disables this feature."
+#~ msgid "Interlocking depth of a segmented region. Zero disables this feature."
#~ msgstr "분할된 영역의 깊이를 연동합니다. 0은 이 기능을 비활성화합니다."
#~ msgid "Wipe tower extruder"
@@ -18377,8 +18337,8 @@ msgstr ""
#~ "File size exceeds the 100MB upload limit. Please upload your file through "
#~ "the panel."
#~ msgstr ""
-#~ "파일 크기가 업로드 제한인 100MB를 초과했습니다. 패널을 통해 파일을 업로드"
-#~ "하세요."
+#~ "파일 크기가 업로드 제한인 100MB를 초과했습니다. 패널을 통해 파일을 업로드하"
+#~ "세요."
#~ msgid "Please input a valid value (K in 0~0.3)"
#~ msgstr "유효한 값을 입력하세요(K는 0~0.3)"
@@ -18407,12 +18367,11 @@ msgstr ""
#~ "the print start menu, the printer will follow the old way, calibrate the "
#~ "filament before the print; When you start a multi color/material print, "
#~ "the printer will use the default compensation parameter for the filament "
-#~ "during every filament switch which will have a good result in most "
-#~ "cases.\n"
+#~ "during every filament switch which will have a good result in most cases.\n"
#~ "\n"
#~ "Please note there are a few cases that will make the calibration result "
-#~ "not reliable: using a texture plate to do the calibration; the build "
-#~ "plate does not have good adhesion (please wash the build plate or apply "
+#~ "not reliable: using a texture plate to do the calibration; the build plate "
+#~ "does not have good adhesion (please wash the build plate or apply "
#~ "gluestick!) ...You can find more from our wiki.\n"
#~ "\n"
#~ "The calibration results have about 10 percent jitter in our test, which "
@@ -18422,31 +18381,31 @@ msgstr ""
#~ "우리 위키에서 동적 압출량 교정에 대한 자세한 내용을 찾아보세요.\n"
#~ "\n"
#~ "일반적으로 교정은 필요하지 않습니다. 출력 시작 메뉴에서 \"동적 압출량 교정"
-#~ "\" 옵션을 선택한 상태에서 단일 색상/재료 출력을 시작하면 프린터는 이전 방"
-#~ "식을 따르며 출력 전에 필라멘트를 교정합니다. 다중 색상/재료 출력을 시작하"
-#~ "면 프린터는 모든 필라멘트 전환 중에 필라멘트에 대한 기본 보상 매개변수를 "
-#~ "사용하므로 대부분의 경우 좋은 결과를 얻을 수 있습니다.\n"
+#~ "\" 옵션을 선택한 상태에서 단일 색상/재료 출력을 시작하면 프린터는 이전 방식"
+#~ "을 따르며 출력 전에 필라멘트를 교정합니다. 다중 색상/재료 출력을 시작하면 "
+#~ "프린터는 모든 필라멘트 전환 중에 필라멘트에 대한 기본 보상 매개변수를 사용"
+#~ "하므로 대부분의 경우 좋은 결과를 얻을 수 있습니다.\n"
#~ "\n"
#~ "교정 결과를 신뢰할 수 없게 만드는 몇 가지 경우가 있습니다. 텍스처 플레이트"
#~ "를 사용하여 보정을 수행합니다. 빌드 플레이트의 접착력이 좋지 않습니다. (빌"
#~ "드 플레이트를 세척하거나 풀을 바르십시오!) ...위키에서 자세한 내용을 확인"
#~ "할 수 있습니다.\n"
#~ "\n"
-#~ "테스트에서 교정 결과에는 약 10%의 오차가 있으며, 이로 인해 각 교정에서 결"
-#~ "과가 정확히 동일하지 않을 수 있습니다. 새로운 업데이트로 개선하기 위해 근"
-#~ "본 원인을 계속 조사하고 있습니다."
+#~ "테스트에서 교정 결과에는 약 10%의 오차가 있으며, 이로 인해 각 교정에서 결과"
+#~ "가 정확히 동일하지 않을 수 있습니다. 새로운 업데이트로 개선하기 위해 근본 "
+#~ "원인을 계속 조사하고 있습니다."
#~ msgid ""
-#~ "Only one of the results with the same name will be saved. Are you sure "
-#~ "you want to overrides the other results?"
+#~ "Only one of the results with the same name will be saved. Are you sure you "
+#~ "want to overrides the other results?"
#~ msgstr ""
#~ "동일한 이름을 가진 결과 중 하나만 저장됩니다. 다른 결과에 덮어쓰겠습니까?"
#, c-format, boost-format
#~ msgid ""
#~ "There is already a historical calibration result with the same name: %s. "
-#~ "Only one of the results with the same name is saved. Are you sure you "
-#~ "want to overrides the historical result?"
+#~ "Only one of the results with the same name is saved. Are you sure you want "
+#~ "to overrides the historical result?"
#~ msgstr ""
#~ "동일한 이름을 가진 교정 기록 결과가 이미 있습니다: %s. 동일한 이름의 결과 "
#~ "중 하나만 저장됩니다. 과거 결과에 덮어쓰겠습니까?"
@@ -18458,28 +18417,28 @@ msgstr ""
#~ "Order of wall/infill. When the tickbox is unchecked the walls are printed "
#~ "first, which works best in most cases.\n"
#~ "\n"
-#~ "Printing walls first may help with extreme overhangs as the walls have "
-#~ "the neighbouring infill to adhere to. However, the infill will slightly "
-#~ "push out the printed walls where it is attached to them, resulting in a "
-#~ "worse external surface finish. It can also cause the infill to shine "
-#~ "through the external surfaces of the part."
+#~ "Printing walls first may help with extreme overhangs as the walls have the "
+#~ "neighbouring infill to adhere to. However, the infill will slightly push "
+#~ "out the printed walls where it is attached to them, resulting in a worse "
+#~ "external surface finish. It can also cause the infill to shine through the "
+#~ "external surfaces of the part."
#~ msgstr ""
#~ "벽/채우기 순서. 확인란을 선택 취소하면 벽이 먼저 출력되며 이는 대부분의 경"
#~ "우 가장 잘 작동합니다.\n"
#~ "\n"
#~ "벽에 접착할 이웃 충전재가 있으므로 벽을 먼저 출력하면 과도한 돌출부에 도움"
-#~ "이 될 수 있습니다. 그러나 충전재는 출력된 벽이 부착된 부분을 약간 밀어내"
-#~ "어 외부 표면 마감이 더 나빠집니다. 또한 충전재가 부품의 외부 표면을 통해 "
-#~ "빛날 수도 있습니다."
+#~ "이 될 수 있습니다. 그러나 충전재는 출력된 벽이 부착된 부분을 약간 밀어내어 "
+#~ "외부 표면 마감이 더 나빠집니다. 또한 충전재가 부품의 외부 표면을 통해 빛날 "
+#~ "수도 있습니다."
#~ msgid ""
-#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from "
-#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro "
-#~ "Ranellucci and the RepRap community"
+#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer "
+#~ "by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and "
+#~ "the RepRap community"
#~ msgstr ""
-#~ "Orca Slicer는 Prusa Research의 PrusaSlicer에서 나온 뱀부랩의 BambuStudio"
-#~ "를 기반으로 합니다. PrusaSlicer는 Alessandro Ranellucci와 RepRap 커뮤니티"
-#~ "의 Slic3r에서 제작되었습니다"
+#~ "Orca Slicer는 Prusa Research의 PrusaSlicer에서 나온 뱀부랩의 BambuStudio를 "
+#~ "기반으로 합니다. PrusaSlicer는 Alessandro Ranellucci와 RepRap 커뮤니티의 "
+#~ "Slic3r에서 제작되었습니다"
#~ msgid "Export &Configs"
#~ msgstr "설정 내보내기 (&C)"
@@ -18505,8 +18464,8 @@ msgstr ""
#~ "Infill area is enlarged slightly to overlap with wall for better bonding. "
#~ "The percentage value is relative to line width of sparse infill"
#~ msgstr ""
-#~ "채우기 영역이 벽과 겹치도록 약간 확장되어 접착력이 향상됩니다. 드문 채우"
-#~ "기 선 너비의 백분율 값입니다"
+#~ "채우기 영역이 벽과 겹치도록 약간 확장되어 접착력이 향상됩니다. 드문 채우기 "
+#~ "선 너비의 백분율 값입니다"
#~ msgid "Export Configs"
#~ msgstr "구성 내보내기"
@@ -18546,8 +18505,8 @@ msgstr ""
#~ msgid ""
#~ "Note: When the lid is open or the desiccant pack is changed, it can take "
#~ "hours or a night to absorb the moisture. Low temperatures also slow down "
-#~ "the process. During this time, the indicator may not represent the "
-#~ "chamber accurately."
+#~ "the process. During this time, the indicator may not represent the chamber "
+#~ "accurately."
#~ msgstr ""
#~ "참고: 뚜껑이 열려 있거나 건조제 팩을 교체한 경우 수분을 흡수하는 데 몇 시"
#~ "간 또는 하룻밤이 걸릴 수 있습니다. 온도가 낮으면 흡수 속도도 느려집니다. "
@@ -18557,8 +18516,8 @@ msgstr ""
#~ "Note: if new filament is inserted during printing, the AMS will not "
#~ "automatically read any information until printing is completed."
#~ msgstr ""
-#~ "참고: 출력 중에 새 필라멘트를 삽입하면 출력이 완료될 때까지 AMS가 자동으"
-#~ "로 어떤 정보도 읽지 않습니다."
+#~ "참고: 출력 중에 새 필라멘트를 삽입하면 출력이 완료될 때까지 AMS가 자동으로 "
+#~ "어떤 정보도 읽지 않습니다."
#, boost-format
#~ msgid "Succeed to export G-code to %1%"
@@ -18571,7 +18530,7 @@ msgstr ""
#~ msgstr "초기화 실패 (카메라 없음)!"
#~ msgid ""
-#~ "Printer is busy downloading, please wait for the download to finish."
+#~ "Printer is busy downloading, Please wait for the downloading to finish."
#~ msgstr "프린터가 다운로드 중입니다. 다운로드가 완료될 때까지 기다리십시오."
#~ msgid "Initialize failed (Not supported on the current printer version)!"
@@ -18631,12 +18590,12 @@ msgstr ""
#~ msgid ""
#~ "Please go to filament setting to edit your presets if you need.\n"
#~ "Please note that nozzle temperature, hot bed temperature, and maximum "
-#~ "volumetric speed have a significant impact on printing quality. Please "
-#~ "set them carefully."
+#~ "volumetric speed have a significant impact on printing quality. Please set "
+#~ "them carefully."
#~ msgstr ""
#~ "필요한 경우 필라멘트 설정으로 이동하여 사전 설정을 편집하세요.\n"
-#~ "노즐 온도, 핫베드 온도 및 최대 체적 속도는 출력 품질에 큰 영향을 미칩니"
-#~ "다. 신중하게 설정해 주세요."
+#~ "노즐 온도, 핫베드 온도 및 최대 체적 속도는 출력 품질에 큰 영향을 미칩니다. "
+#~ "신중하게 설정해 주세요."
#~ msgid "Studio Version:"
#~ msgstr "스튜디오 버전:"
@@ -18681,8 +18640,8 @@ msgstr ""
#~ msgstr "테스트 저장소 업로드"
#~ msgid ""
-#~ "The speed setting exceeds the printer's maximum speed "
-#~ "(machine_max_speed_x/machine_max_speed_y).\n"
+#~ "The speed setting exceeds the printer's maximum speed (machine_max_speed_x/"
+#~ "machine_max_speed_y).\n"
#~ "Orca will automatically cap the print speed to ensure it doesn't surpass "
#~ "the printer's capabilities.\n"
#~ "You can adjust the maximum speed setting in your printer's configuration "
@@ -18734,8 +18693,16 @@ msgstr ""
#~ "layer cooling is enabled, when printing overhangs and when feature speeds "
#~ "are not specified explicitly."
#~ msgstr ""
-#~ "보다 나은 레이어 냉각을 위해 속도를 늦출 때, 돌출부 출력 속도가 명시적으"
-#~ "로 지정되지 않은 경우 필라멘트의 최소 출력 속도가 활성화됩니다."
+#~ "보다 나은 레이어 냉각을 위해 속도를 늦출 때, 돌출부 출력 속도가 명시적으로 "
+#~ "지정되지 않은 경우 필라멘트의 최소 출력 속도가 활성화됩니다."
+
+#~ msgid ""
+#~ "We would rename the presets as \"Vendor Type Serial @printer you "
+#~ "selected\".\n"
+#~ "To add preset for more prinetrs, Please go to printer selection"
+#~ msgstr ""
+#~ "사전 설정의 이름을 \"선택한 공급업체 유형 직렬 @프린터\"로 변경합니다.\n"
+#~ "더 많은 프린터에 대한 사전 설정을 추가하려면 프린터 선택으로 이동하세요"
#~ msgid "The Config cannot be loaded."
#~ msgstr "구성을 로드할 수 없습니다."
@@ -18788,15 +18755,15 @@ msgstr ""
#~ "Orca recalculates your flushing volumes every time the filament colors "
#~ "change. You can change this behavior in Preferences."
#~ msgstr ""
-#~ "Orca Slicer는 필라멘트 색상이 바뀔 때마다 플러싱 볼륨을 다시 계산합니다. "
-#~ "환경 설정에서 이 동작을 변경할 수 있습니다."
+#~ "Orca Slicer는 필라멘트 색상이 바뀔 때마다 플러싱 볼륨을 다시 계산합니다. 환"
+#~ "경 설정에서 이 동작을 변경할 수 있습니다."
#~ msgid ""
#~ "The printer timed out while receiving a print job. Please check if the "
#~ "network is functioning properly and send the print again."
#~ msgstr ""
-#~ "프린터가 인쇄 작업을 수신하는 동안 시간이 초과되었습니다.네트워크가 제대"
-#~ "로 작동하는지 확인하고 인쇄를 다시 보내십시오."
+#~ "프린터가 인쇄 작업을 수신하는 동안 시간이 초과되었습니다.네트워크가 제대로 "
+#~ "작동하는지 확인하고 인쇄를 다시 보내십시오."
#~ msgid "The beginning of the vendor cannot be a number. Please re-enter."
#~ msgstr "공급업체의 시작 부분은 숫자일 수 없습니다. 다시 입력해 주세요."
@@ -18849,8 +18816,8 @@ msgstr ""
#~ msgstr ""
#~ "모델 단순화\n"
#~ "메쉬 단순화 기능을 사용하여 메쉬의 삼각형 수를 줄일 수 있다는 사실을 알고 "
-#~ "있습니까? 모델을 마우스 오른쪽 버튼으로 클릭하고 모델 단순화를 선택합니"
-#~ "다. 자세한 내용은 설명서를 참조하십시오."
+#~ "있습니까? 모델을 마우스 오른쪽 버튼으로 클릭하고 모델 단순화를 선택합니다. "
+#~ "자세한 내용은 설명서를 참조하십시오."
#~ msgid ""
#~ "Subtract a Part\n"
@@ -18859,10 +18826,9 @@ msgstr ""
#~ "resizable holes directly in Orca Slicer. Read more in the documentation."
#~ msgstr ""
#~ "부품 비우기\n"
-#~ "네거티브 부분 수정자를 사용하여 하나의 메시를 다른 메시에서 뺄 수 있다는 "
-#~ "것을 알고 계셨습니까? 예를 들어, 이렇게 하면 Orca Slicer에서 직접 쉽게 크"
-#~ "기 조정이 가능한 구멍을 만들 수 있습니다. 설명서에서 자세한 내용을 읽어보"
-#~ "세요."
+#~ "네거티브 부분 수정자를 사용하여 하나의 메시를 다른 메시에서 뺄 수 있다는 것"
+#~ "을 알고 계셨습니까? 예를 들어, 이렇게 하면 Orca Slicer에서 직접 쉽게 크기 "
+#~ "조정이 가능한 구멍을 만들 수 있습니다. 설명서에서 자세한 내용을 읽어보세요."
#~ msgid "Filling bed "
#~ msgstr "베드 채우기 "
@@ -18952,8 +18918,8 @@ msgstr ""
#~ "direction on odd layers. This alternating pattern can drastically improve "
#~ "steep overhang."
#~ msgstr ""
-#~ "돌출부 위의 홀수 레이어의 둘레를 반대 방향으로 압출시킵니다. 이러한 교대 "
-#~ "패턴은 가파른 돌출부를 대폭 개선할 수 있습니다."
+#~ "돌출부 위의 홀수 레이어의 둘레를 반대 방향으로 압출시킵니다. 이러한 교대 패"
+#~ "턴은 가파른 돌출부를 대폭 개선할 수 있습니다."
#~ msgid "Order of inner wall/outer wall/infil"
#~ msgstr "내벽/외벽/내부 채우기 순서"
@@ -18999,8 +18965,8 @@ msgstr ""
#~ "touchpanel in the 3D scene?"
#~ msgstr ""
#~ "3D 화면 작업\n"
-#~ "3D 화면에서 마우스와 터치패널로 보기 및 객체/부품 선택을 제어하는 방법을 "
-#~ "알고 있습니까?"
+#~ "3D 화면에서 마우스와 터치패널로 보기 및 객체/부품 선택을 제어하는 방법을 알"
+#~ "고 있습니까?"
#~ msgid ""
#~ "When need to print with the printer door opened\n"
@@ -19020,8 +18986,8 @@ msgstr ""
#~ "OrcaSlicer configuration file may be corrupted and is not abled to be "
#~ "parsed. Please delete the file and try again."
#~ msgstr ""
-#~ "OrcaSlicer 구성 파일이 손상되어 구문 분석할 수 없습니다. 파일을 삭제하고 "
-#~ "다시 시도하십시오."
+#~ "OrcaSlicer 구성 파일이 손상되어 구문 분석할 수 없습니다. 파일을 삭제하고 다"
+#~ "시 시도하십시오."
#~ msgid "Online Models"
#~ msgstr "온라인 모델"
@@ -19035,11 +19001,10 @@ msgstr ""
#~ msgid ""
#~ "There are currently no identical spare consumables available, and "
#~ "automatic replenishment is currently not possible.\n"
-#~ "(Currently supporting automatic supply of consumables with the same "
-#~ "brand, material type, and color)"
+#~ "(Currently supporting automatic supply of consumables with the same brand, "
+#~ "material type, and color)"
#~ msgstr ""
-#~ "현재 동일한 예비 소모품을 사용할 수 없으며 자동 보충도 현재 불가능합니"
-#~ "다.\n"
+#~ "현재 동일한 예비 소모품을 사용할 수 없으며 자동 보충도 현재 불가능합니다.\n"
#~ "(현재 동일한 브랜드, 재질, 색상의 소모품 자동공급 지원)"
#~ msgid "Invalid nozzle diameter"
@@ -19049,8 +19014,8 @@ msgstr ""
#~ "The bed temperature exceeds filament's vitrification temperature. Please "
#~ "open the front door of printer before printing to avoid nozzle clog."
#~ msgstr ""
-#~ "베드 온도가 필라멘트의 유리화 온도를 초과합니다. 노즐 막힘을 방지하기 위"
-#~ "해 출력하기 전에 프린터의 도어를 여십시오."
+#~ "베드 온도가 필라멘트의 유리화 온도를 초과합니다. 노즐 막힘을 방지하기 위해 "
+#~ "출력하기 전에 프린터의 도어를 여십시오."
#~ msgid "Activate for better air filtration"
#~ msgstr "더 나은 공기 여과를 위해 활성화하세요"
@@ -19080,8 +19045,8 @@ msgstr ""
#~ "during printing except the first several layers which is defined by no "
#~ "cooling layers"
#~ msgstr ""
-#~ "보조 출력 냉각 팬의 속도입니다. 냉각 중지 레이어로 정의된 처음 몇 개의 레"
-#~ "이어를 제외하고 출력 중에 보조 팬이 이 속도로 작동됩니다"
+#~ "보조 출력 냉각 팬의 속도입니다. 냉각 중지 레이어로 정의된 처음 몇 개의 레이"
+#~ "어를 제외하고 출력 중에 보조 팬이 이 속도로 작동됩니다"
#~ msgid ""
#~ "Filter out gaps smaller than the threshold specified. This setting won't "
@@ -19108,8 +19073,7 @@ msgstr ""
#~ "layer for more than %d degrees Celsius.\n"
#~ "This may cause model broken free from build plate during printing"
#~ msgstr ""
-#~ "다른 레이어의 베드 온도가 초기 레이어의 베드 온도보다 %d°C 이상 낮습니"
-#~ "다.\n"
+#~ "다른 레이어의 베드 온도가 초기 레이어의 베드 온도보다 %d°C 이상 낮습니다.\n"
#~ "이로 인해 출력 중에 모델이 빌드 플레이트에서 탈출할 수 있습니다"
#~ msgid ""
@@ -19162,16 +19126,16 @@ msgstr ""
#~ msgstr "내부 다리 서포트 두께"
#~ msgid ""
-#~ "If enabled, support loops will be generated under the contours of "
-#~ "internal bridges. These support loops could prevent internal bridges from "
-#~ "extruding over the air and improve the top surface quality, especially "
-#~ "when the sparse infill density is low. This value determines the thickness "
-#~ "of the support loops. 0 means disable this feature"
+#~ "If enabled, support loops will be generated under the contours of internal "
+#~ "bridges. These support loops could prevent internal bridges from extruding "
+#~ "over the air and improve the top surface quality, especially when the "
+#~ "sparse infill density is low. This value determines the thickness of the "
+#~ "support loops. 0 means disable this feature"
#~ msgstr ""
-#~ "활성화된 경우 내부 다리의 윤곽선 아래에 서포트 루프를 생성합니다. 이러한 "
-#~ "서포트 루프는 내부 다리를 공중에서 압출하는 것을 방지하고, 특히 드문 채우"
-#~ "기 밀도가 낮을 때 상단 표면 품질을 향상시킬 수 있습니다. 이 값은 서포트 루"
-#~ "프의 두께를 결정하며 0은 이 기능을 사용하지 않음을 의미합니다"
+#~ "활성화된 경우 내부 다리의 윤곽선 아래에 서포트 루프를 생성합니다. 이러한 서"
+#~ "포트 루프는 내부 다리를 공중에서 압출하는 것을 방지하고, 특히 드문 채우기 "
+#~ "밀도가 낮을 때 상단 표면 품질을 향상시킬 수 있습니다. 이 값은 서포트 루프"
+#~ "의 두께를 결정하며 0은 이 기능을 사용하지 않음을 의미합니다"
#~ msgid ""
#~ "Style and shape of the support. For normal support, projecting the "
@@ -19181,11 +19145,11 @@ msgstr ""
#~ "save a lot of material (default), while hybrid style will create similar "
#~ "structure to normal support under large flat overhangs."
#~ msgstr ""
-#~ "서포트의 모양. 일반 서포트의 경우, 격자는 보다 안정적인 서포트(기본값)가 "
-#~ "생성되는 반면 맞춤 서포트는 재료를 절약하고 객체 자국을 줄입니다.\n"
-#~ "트리 서포트의 경우 얇은 모양은 가지를 더 적극적으로 병합하고 많은 재료를 "
-#~ "절약합니다(기본값). 반면 혼합 스타일은 크고 평평한 오버행 아래에 일반 지지"
-#~ "대와 유사한 구조를 만듭니다."
+#~ "서포트의 모양. 일반 서포트의 경우, 격자는 보다 안정적인 서포트(기본값)가 생"
+#~ "성되는 반면 맞춤 서포트는 재료를 절약하고 객체 자국을 줄입니다.\n"
+#~ "트리 서포트의 경우 얇은 모양은 가지를 더 적극적으로 병합하고 많은 재료를 절"
+#~ "약합니다(기본값). 반면 혼합 스타일은 크고 평평한 오버행 아래에 일반 지지대"
+#~ "와 유사한 구조를 만듭니다."
#~ msgid "Target chamber temperature"
#~ msgstr "설정할 챔버 온도"
@@ -19195,12 +19159,12 @@ msgstr ""
#~ msgid ""
#~ "Do not recommend bed temperature of other layer to be lower than initial "
-#~ "layer for more than this threshold. Too low bed temperature of other "
-#~ "layer may cause the model broken free from build plate"
+#~ "layer for more than this threshold. Too low bed temperature of other layer "
+#~ "may cause the model broken free from build plate"
#~ msgstr ""
-#~ "이 임계값 이상으로 다른 레이어의 베드 온도를 초기 레이어보다 낮추는 것을 "
-#~ "권장하지 않습니다. 다른 레이어의 베드 온도가 너무 낮으면 빌드 플레이트에"
-#~ "서 모델이 깨질 수 있습니다"
+#~ "이 임계값 이상으로 다른 레이어의 베드 온도를 초기 레이어보다 낮추는 것을 권"
+#~ "장하지 않습니다. 다른 레이어의 베드 온도가 너무 낮으면 빌드 플레이트에서 모"
+#~ "델이 깨질 수 있습니다"
#~ msgid "Orient the model"
#~ msgstr "모델 방향 설정"
diff --git a/localization/i18n/lt/OrcaSlicer_lt.po b/localization/i18n/lt/OrcaSlicer_lt.po
index c577115c2c..633e0ef0a3 100644
--- a/localization/i18n/lt/OrcaSlicer_lt.po
+++ b/localization/i18n/lt/OrcaSlicer_lt.po
@@ -4459,8 +4459,8 @@ msgstr "Pasirinkti plokštę"
msgid "Assembly Return"
msgstr "Sugrąžinti surinkimą"
-msgid "return"
-msgstr "grąžinti"
+msgid "Return"
+msgstr "Grąžinti"
msgid "Paint Toolbar"
msgstr "Piešimo įrankių juosta"
diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po
index f76a72491f..4a438b2b3b 100644
--- a/localization/i18n/nl/OrcaSlicer_nl.po
+++ b/localization/i18n/nl/OrcaSlicer_nl.po
@@ -4376,7 +4376,7 @@ msgstr "Printbed selecteren"
msgid "Assembly Return"
msgstr "Montage terug"
-msgid "return"
+msgid "Return"
msgstr "Terug"
msgid "Paint Toolbar"
diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po
index aebf1ec5fb..5b6d0cc74c 100644
--- a/localization/i18n/pl/OrcaSlicer_pl.po
+++ b/localization/i18n/pl/OrcaSlicer_pl.po
@@ -4463,8 +4463,8 @@ msgstr "Wybierz płytę"
msgid "Assembly Return"
msgstr "Powrót do montażu"
-msgid "return"
-msgstr "wróć"
+msgid "Return"
+msgstr "Wróć"
msgid "Paint Toolbar"
msgstr "Pasek narzędzi do malowania"
diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po
index 3df3f6171a..5423da39d7 100644
--- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po
+++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po
@@ -4467,8 +4467,8 @@ msgstr "Selecionar Placa"
msgid "Assembly Return"
msgstr "Retornar à Montagem"
-msgid "return"
-msgstr "retornar"
+msgid "Return"
+msgstr "Retornar"
msgid "Paint Toolbar"
msgstr "Barra de Ferramentas de Pintura"
diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po
index ea804ea347..b8d74dde7e 100644
--- a/localization/i18n/ru/OrcaSlicer_ru.po
+++ b/localization/i18n/ru/OrcaSlicer_ru.po
@@ -4521,7 +4521,7 @@ msgstr "Выбор печатной пластины"
msgid "Assembly Return"
msgstr "Выйти из сборки"
-msgid "return"
+msgid "Return"
msgstr "Назад"
msgid "Paint Toolbar"
diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po
index 15cee8df7f..6b80d894d0 100644
--- a/localization/i18n/sv/OrcaSlicer_sv.po
+++ b/localization/i18n/sv/OrcaSlicer_sv.po
@@ -4321,8 +4321,8 @@ msgstr "Välj Byggplatta"
msgid "Assembly Return"
msgstr "Monterings retur"
-msgid "return"
-msgstr "tillbaka"
+msgid "Return"
+msgstr "Tillbaka"
msgid "Paint Toolbar"
msgstr "Färgläggningsverktyg"
diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po
index 2031ab46e6..9e0321190f 100644
--- a/localization/i18n/tr/OrcaSlicer_tr.po
+++ b/localization/i18n/tr/OrcaSlicer_tr.po
@@ -4427,8 +4427,8 @@ msgstr "Plaka Seç"
msgid "Assembly Return"
msgstr "Montaj İptali"
-msgid "return"
-msgstr "geri dön"
+msgid "Return"
+msgstr "Geri dön"
msgid "Paint Toolbar"
msgstr "Boyama Araç Çubuğu"
diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po
index 9cafd4a05f..4d2d844d9f 100644
--- a/localization/i18n/uk/OrcaSlicer_uk.po
+++ b/localization/i18n/uk/OrcaSlicer_uk.po
@@ -4465,8 +4465,8 @@ msgstr "Вибрати пластину"
msgid "Assembly Return"
msgstr "Повернення збірки"
-msgid "return"
-msgstr "повернення"
+msgid "Return"
+msgstr "Повернення"
msgid "Paint Toolbar"
msgstr "Панель інструментів малювання"
diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po
index ad34f6f7c6..2b8a23c4c5 100644
--- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po
+++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po
@@ -4275,7 +4275,7 @@ msgstr "选择盘"
msgid "Assembly Return"
msgstr "退出装配体视图"
-msgid "return"
+msgid "Return"
msgstr "返回"
msgid "Paint Toolbar"
@@ -6402,19 +6402,19 @@ msgid "Choose Download Directory"
msgstr "选择下载文件夹"
msgid "Associate"
-msgstr ""
+msgstr "相关的"
msgid "with OrcaSlicer so that Orca can open models from"
msgstr ""
msgid "Current Association: "
-msgstr ""
+msgstr "当前相关项"
msgid "Current Instance"
-msgstr ""
+msgstr "当前实例"
msgid "Current Instance Path: "
-msgstr ""
+msgstr "当前实例路径"
msgid "General Settings"
msgstr "通用设置"
@@ -6618,22 +6618,22 @@ msgid "Associate URLs to OrcaSlicer"
msgstr ""
msgid "Load All"
-msgstr ""
+msgstr "加载全部"
msgid "Ask When Relevant"
-msgstr ""
+msgstr "当相关时查询"
msgid "Always Ask"
-msgstr ""
+msgstr "总是提问"
msgid "Load Geometry Only"
-msgstr ""
+msgstr "仅加载几何形状"
msgid "Load Behaviour"
-msgstr ""
+msgstr "加载 交互项"
msgid "Should printer/filament/process settings be loaded when opening a .3mf?"
-msgstr ""
+msgstr "printter/filament/process 设置项文件能否以 .3mf后缀方式打开"
msgid "Maximum recent projects"
msgstr "近期项目的最大数量"
diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po
index 012d351c65..2bb42e2bdb 100644
--- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po
+++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po
@@ -4283,7 +4283,7 @@ msgstr "選擇列印板"
msgid "Assembly Return"
msgstr "退出組裝視角"
-msgid "return"
+msgid "Return"
msgstr "返回"
msgid "Paint Toolbar"
diff --git a/resources/images/radio_disabled.svg b/resources/images/radio_disabled.svg
new file mode 100644
index 0000000000..0a34e179b9
--- /dev/null
+++ b/resources/images/radio_disabled.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/resources/images/radio_off_hover.svg b/resources/images/radio_off_hover.svg
new file mode 100644
index 0000000000..3f4fefd912
--- /dev/null
+++ b/resources/images/radio_off_hover.svg
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/resources/images/radio_on_hover.svg b/resources/images/radio_on_hover.svg
new file mode 100644
index 0000000000..2c6fcae18a
--- /dev/null
+++ b/resources/images/radio_on_hover.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/resources/profiles/Anker/Anker M5 All-Metal Hot End_cover.png b/resources/profiles/Anker/Anker M5 All-Metal Hot End_cover.png
index 926c389c3e..1b80961a5d 100644
Binary files a/resources/profiles/Anker/Anker M5 All-Metal Hot End_cover.png and b/resources/profiles/Anker/Anker M5 All-Metal Hot End_cover.png differ
diff --git a/resources/profiles/Anker/Anker M5C_cover.png b/resources/profiles/Anker/Anker M5C_cover.png
index 7e0e9d5302..ba1e24e36b 100644
Binary files a/resources/profiles/Anker/Anker M5C_cover.png and b/resources/profiles/Anker/Anker M5C_cover.png differ
diff --git a/resources/profiles/Anker/Anker M5_cover.png b/resources/profiles/Anker/Anker M5_cover.png
index ff58b6a89c..0c2d271f68 100644
Binary files a/resources/profiles/Anker/Anker M5_cover.png and b/resources/profiles/Anker/Anker M5_cover.png differ
diff --git a/resources/profiles/Anycubic/Anycubic Kobra S1_cover.png b/resources/profiles/Anycubic/Anycubic Kobra S1_cover.png
index c84e2cb4cf..e9712d0393 100644
Binary files a/resources/profiles/Anycubic/Anycubic Kobra S1_cover.png and b/resources/profiles/Anycubic/Anycubic Kobra S1_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab A1 mini_cover.png b/resources/profiles/BBL/Bambu Lab A1 mini_cover.png
index f224e40b89..2f47295bea 100644
Binary files a/resources/profiles/BBL/Bambu Lab A1 mini_cover.png and b/resources/profiles/BBL/Bambu Lab A1 mini_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab A1_cover.png b/resources/profiles/BBL/Bambu Lab A1_cover.png
index 93f7121ace..84fad5940b 100644
Binary files a/resources/profiles/BBL/Bambu Lab A1_cover.png and b/resources/profiles/BBL/Bambu Lab A1_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab P1P_cover.png b/resources/profiles/BBL/Bambu Lab P1P_cover.png
index af349701d8..42805c0ce0 100644
Binary files a/resources/profiles/BBL/Bambu Lab P1P_cover.png and b/resources/profiles/BBL/Bambu Lab P1P_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab P1S_cover.png b/resources/profiles/BBL/Bambu Lab P1S_cover.png
index 38ec69bb85..857f7ecb81 100644
Binary files a/resources/profiles/BBL/Bambu Lab P1S_cover.png and b/resources/profiles/BBL/Bambu Lab P1S_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab X1 Carbon_cover.png b/resources/profiles/BBL/Bambu Lab X1 Carbon_cover.png
index eab8a6d5c6..156528f313 100644
Binary files a/resources/profiles/BBL/Bambu Lab X1 Carbon_cover.png and b/resources/profiles/BBL/Bambu Lab X1 Carbon_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab X1E_cover.png b/resources/profiles/BBL/Bambu Lab X1E_cover.png
index 1daaf9c3a9..c163c154ba 100644
Binary files a/resources/profiles/BBL/Bambu Lab X1E_cover.png and b/resources/profiles/BBL/Bambu Lab X1E_cover.png differ
diff --git a/resources/profiles/BBL/Bambu Lab X1_cover.png b/resources/profiles/BBL/Bambu Lab X1_cover.png
index 5655a9f83c..b8275094f2 100644
Binary files a/resources/profiles/BBL/Bambu Lab X1_cover.png and b/resources/profiles/BBL/Bambu Lab X1_cover.png differ
diff --git a/resources/profiles/BBL/bbl-3dp-A1M.stl b/resources/profiles/BBL/bbl-3dp-A1M.stl
index ccdc7982e0..55f1d21896 100644
Binary files a/resources/profiles/BBL/bbl-3dp-A1M.stl and b/resources/profiles/BBL/bbl-3dp-A1M.stl differ
diff --git a/resources/profiles/BBL/bbl-3dp-H2D.stl b/resources/profiles/BBL/bbl-3dp-H2D.stl
new file mode 100644
index 0000000000..151303d573
Binary files /dev/null and b/resources/profiles/BBL/bbl-3dp-H2D.stl differ
diff --git a/resources/profiles/BBL/bbl-3dp-X1.stl b/resources/profiles/BBL/bbl-3dp-X1.stl
index 6823cdb229..d142afcbf4 100644
Binary files a/resources/profiles/BBL/bbl-3dp-X1.stl and b/resources/profiles/BBL/bbl-3dp-X1.stl differ
diff --git a/resources/profiles/CONSTRUCT3D/Construct 1 XL_cover.png b/resources/profiles/CONSTRUCT3D/Construct 1 XL_cover.png
index 143da3eb34..c8d7cb8d07 100644
Binary files a/resources/profiles/CONSTRUCT3D/Construct 1 XL_cover.png and b/resources/profiles/CONSTRUCT3D/Construct 1 XL_cover.png differ
diff --git a/resources/profiles/CONSTRUCT3D/Construct 1_cover.png b/resources/profiles/CONSTRUCT3D/Construct 1_cover.png
index 22426a3730..3b44476d47 100644
Binary files a/resources/profiles/CONSTRUCT3D/Construct 1_cover.png and b/resources/profiles/CONSTRUCT3D/Construct 1_cover.png differ
diff --git a/resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png b/resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png
index fab6d2e503..10a84148c7 100644
Binary files a/resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png and b/resources/profiles/CoLiDo/CoLiDo 160 V2_cover.png differ
diff --git a/resources/profiles/CoLiDo/CoLiDo DIY 4.0 V2_cover.png b/resources/profiles/CoLiDo/CoLiDo DIY 4.0 V2_cover.png
index 5fb9fe40a4..7e3620b2fd 100644
Binary files a/resources/profiles/CoLiDo/CoLiDo DIY 4.0 V2_cover.png and b/resources/profiles/CoLiDo/CoLiDo DIY 4.0 V2_cover.png differ
diff --git a/resources/profiles/CoLiDo/CoLiDo DIY 4.0_cover.png b/resources/profiles/CoLiDo/CoLiDo DIY 4.0_cover.png
index c1ae08c6dc..fa008d81c5 100644
Binary files a/resources/profiles/CoLiDo/CoLiDo DIY 4.0_cover.png and b/resources/profiles/CoLiDo/CoLiDo DIY 4.0_cover.png differ
diff --git a/resources/profiles/CoLiDo/CoLiDo SR1_cover.png b/resources/profiles/CoLiDo/CoLiDo SR1_cover.png
index bc315ea182..7c5aa0d309 100644
Binary files a/resources/profiles/CoLiDo/CoLiDo SR1_cover.png and b/resources/profiles/CoLiDo/CoLiDo SR1_cover.png differ
diff --git a/resources/profiles/CoLiDo/CoLiDo X16_cover.png b/resources/profiles/CoLiDo/CoLiDo X16_cover.png
index fab6d2e503..71af74c95e 100644
Binary files a/resources/profiles/CoLiDo/CoLiDo X16_cover.png and b/resources/profiles/CoLiDo/CoLiDo X16_cover.png differ
diff --git a/resources/profiles/Creality/Creality Sermoon V1_cover.png b/resources/profiles/Creality/Creality Sermoon V1_cover.png
index 4f5a07ef36..fc82ebfd97 100644
Binary files a/resources/profiles/Creality/Creality Sermoon V1_cover.png and b/resources/profiles/Creality/Creality Sermoon V1_cover.png differ
diff --git a/resources/profiles/Eryone/Thinker X400_cover.png b/resources/profiles/Eryone/Thinker X400_cover.png
index 9c2985e6db..1c3432c1bf 100644
Binary files a/resources/profiles/Eryone/Thinker X400_cover.png and b/resources/profiles/Eryone/Thinker X400_cover.png differ
diff --git a/resources/profiles/FLSun/FLSun S1_cover.png b/resources/profiles/FLSun/FLSun S1_cover.png
index a1e43c2a50..e6558d67ff 100644
Binary files a/resources/profiles/FLSun/FLSun S1_cover.png and b/resources/profiles/FLSun/FLSun S1_cover.png differ
diff --git a/resources/profiles/FLSun/FLSun T1_cover.png b/resources/profiles/FLSun/FLSun T1_cover.png
index 37435793c0..1a649a80ab 100644
Binary files a/resources/profiles/FLSun/FLSun T1_cover.png and b/resources/profiles/FLSun/FLSun T1_cover.png differ
diff --git a/resources/profiles/Flashforge/machine/fdm_adventurer3_common.json b/resources/profiles/Flashforge/machine/fdm_adventurer3_common.json
index 19e0547bd5..c992209109 100644
--- a/resources/profiles/Flashforge/machine/fdm_adventurer3_common.json
+++ b/resources/profiles/Flashforge/machine/fdm_adventurer3_common.json
@@ -36,7 +36,7 @@
"change_filament_gcode": "M600",
"machine_pause_gcode": "M25",
"default_filament_profile": ["Flashforge PLA"],
- "machine_start_gcode": "M140 S[bed_temperature_initial_layer] T0\nM104 S[nozzle_temperature_initial_layer] T0\nM104 S0 T1\nM107\nM900 K[pressure_advance] T0\nG90\nG28\nM132 X Y Z A B\nG1 Z50.000 F420\nG161 X Y F3300\nM7 T0\nM6 T0\nM651 S255\n;pre-extrude\nM108 T0\nG1 X-37.50 Y-75.00 F6000\nM106\nG1 Z0.200 F420\nG1 X-37.50 Y-74.50 F6000\nG1 X37.50 Y-74.50 E9.5 F1200\n",
+ "machine_start_gcode": "M140 S[bed_temperature_initial_layer] T0\nM104 S[nozzle_temperature_initial_layer] T0\nM104 S0 T1\nM107\nM900 K[pressure_advance] T0\nG90\nG28\nM132 X Y Z A B\nG1 Z50.000 F420\nG161 X Y F3300\nM7 T0\nM6 T0\nM651 S255\n;pre-extrude\nM108 T0\nG1 X-37.50 Y-75.00 F6000\nM106\nG1 Z0.200 F420\nG1 X-37.50 Y-74.00 F6000\nG1 X37.50 Y-74.00 E9.5 F1200\n",
"machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F9000\nM104 S0 T0\nM140 S0 T0\nG162 Z F1800\nG28 X Y\nM132 X Y A B\nM652\nG91\nM18",
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
diff --git a/resources/profiles/Folgertech/Folgertech FT-5_cover.png b/resources/profiles/Folgertech/Folgertech FT-5_cover.png
index 21a38c01f9..5983193d22 100644
Binary files a/resources/profiles/Folgertech/Folgertech FT-5_cover.png and b/resources/profiles/Folgertech/Folgertech FT-5_cover.png differ
diff --git a/resources/profiles/Folgertech/Folgertech i3_cover.png b/resources/profiles/Folgertech/Folgertech i3_cover.png
index 3be5af7e75..16a6390250 100644
Binary files a/resources/profiles/Folgertech/Folgertech i3_cover.png and b/resources/profiles/Folgertech/Folgertech i3_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A10 M_cover.png b/resources/profiles/Geeetech/Geeetech A10 M_cover.png
index 8dc6a2582b..4f830e2ce4 100644
Binary files a/resources/profiles/Geeetech/Geeetech A10 M_cover.png and b/resources/profiles/Geeetech/Geeetech A10 M_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A10 Pro_cover.png b/resources/profiles/Geeetech/Geeetech A10 Pro_cover.png
index 4217da7c63..43d02448c0 100644
Binary files a/resources/profiles/Geeetech/Geeetech A10 Pro_cover.png and b/resources/profiles/Geeetech/Geeetech A10 Pro_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A10 T_cover.png b/resources/profiles/Geeetech/Geeetech A10 T_cover.png
index c718b14c5a..a85cb3e821 100644
Binary files a/resources/profiles/Geeetech/Geeetech A10 T_cover.png and b/resources/profiles/Geeetech/Geeetech A10 T_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A20 M_cover.png b/resources/profiles/Geeetech/Geeetech A20 M_cover.png
index be82bbe451..8099ee0840 100644
Binary files a/resources/profiles/Geeetech/Geeetech A20 M_cover.png and b/resources/profiles/Geeetech/Geeetech A20 M_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A20 T_cover.png b/resources/profiles/Geeetech/Geeetech A20 T_cover.png
index 306b4e89f7..ceb20e4036 100644
Binary files a/resources/profiles/Geeetech/Geeetech A20 T_cover.png and b/resources/profiles/Geeetech/Geeetech A20 T_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A20_cover.png b/resources/profiles/Geeetech/Geeetech A20_cover.png
index 4dc4e0b863..ed96415bf6 100644
Binary files a/resources/profiles/Geeetech/Geeetech A20_cover.png and b/resources/profiles/Geeetech/Geeetech A20_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A30 M_cover.png b/resources/profiles/Geeetech/Geeetech A30 M_cover.png
index a02424c910..d00d05b03c 100644
Binary files a/resources/profiles/Geeetech/Geeetech A30 M_cover.png and b/resources/profiles/Geeetech/Geeetech A30 M_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A30 Pro_cover.png b/resources/profiles/Geeetech/Geeetech A30 Pro_cover.png
index f757c4cb3e..2e828d5a2f 100644
Binary files a/resources/profiles/Geeetech/Geeetech A30 Pro_cover.png and b/resources/profiles/Geeetech/Geeetech A30 Pro_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech A30 T_cover.png b/resources/profiles/Geeetech/Geeetech A30 T_cover.png
index cd5f6b4b5d..01de490abc 100644
Binary files a/resources/profiles/Geeetech/Geeetech A30 T_cover.png and b/resources/profiles/Geeetech/Geeetech A30 T_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech M1_cover.png b/resources/profiles/Geeetech/Geeetech M1_cover.png
index 13b0ee51a0..8cc5c7d8ea 100644
Binary files a/resources/profiles/Geeetech/Geeetech M1_cover.png and b/resources/profiles/Geeetech/Geeetech M1_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech Mizar M_cover.png b/resources/profiles/Geeetech/Geeetech Mizar M_cover.png
index 71a5ed3931..4d6c67ba5e 100644
Binary files a/resources/profiles/Geeetech/Geeetech Mizar M_cover.png and b/resources/profiles/Geeetech/Geeetech Mizar M_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech Mizar Max_cover.png b/resources/profiles/Geeetech/Geeetech Mizar Max_cover.png
index 519deac260..5c0cd99b96 100644
Binary files a/resources/profiles/Geeetech/Geeetech Mizar Max_cover.png and b/resources/profiles/Geeetech/Geeetech Mizar Max_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech Mizar Pro_cover.png b/resources/profiles/Geeetech/Geeetech Mizar Pro_cover.png
index e0d2c08b89..3c2d12b172 100644
Binary files a/resources/profiles/Geeetech/Geeetech Mizar Pro_cover.png and b/resources/profiles/Geeetech/Geeetech Mizar Pro_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech Mizar S_cover.png b/resources/profiles/Geeetech/Geeetech Mizar S_cover.png
index ae3c91af71..fa07614ab1 100644
Binary files a/resources/profiles/Geeetech/Geeetech Mizar S_cover.png and b/resources/profiles/Geeetech/Geeetech Mizar S_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech Mizar_cover.png b/resources/profiles/Geeetech/Geeetech Mizar_cover.png
index c0ec971a45..4782a010de 100644
Binary files a/resources/profiles/Geeetech/Geeetech Mizar_cover.png and b/resources/profiles/Geeetech/Geeetech Mizar_cover.png differ
diff --git a/resources/profiles/Geeetech/Geeetech Thunder_cover.png b/resources/profiles/Geeetech/Geeetech Thunder_cover.png
index f6ad3165e2..e3bbd5cf2b 100644
Binary files a/resources/profiles/Geeetech/Geeetech Thunder_cover.png and b/resources/profiles/Geeetech/Geeetech Thunder_cover.png differ
diff --git a/resources/profiles/Ginger Additive/ginger G1_cover.png b/resources/profiles/Ginger Additive/ginger G1_cover.png
index f072f46938..d4a521f68e 100644
Binary files a/resources/profiles/Ginger Additive/ginger G1_cover.png and b/resources/profiles/Ginger Additive/ginger G1_cover.png differ
diff --git a/resources/profiles/Lulzbot/Lulzbot Taz 4 or 5_cover.png b/resources/profiles/Lulzbot/Lulzbot Taz 4 or 5_cover.png
index b154b1b92d..e31e2b266c 100644
Binary files a/resources/profiles/Lulzbot/Lulzbot Taz 4 or 5_cover.png and b/resources/profiles/Lulzbot/Lulzbot Taz 4 or 5_cover.png differ
diff --git a/resources/profiles/Lulzbot/Lulzbot Taz 6_cover.png b/resources/profiles/Lulzbot/Lulzbot Taz 6_cover.png
index b9137ad7ba..9356b4b6e7 100644
Binary files a/resources/profiles/Lulzbot/Lulzbot Taz 6_cover.png and b/resources/profiles/Lulzbot/Lulzbot Taz 6_cover.png differ
diff --git a/resources/profiles/Lulzbot/Lulzbot Taz Mini 2_cover.png b/resources/profiles/Lulzbot/Lulzbot Taz Mini 2_cover.png
index 479153bcec..4b688dda83 100644
Binary files a/resources/profiles/Lulzbot/Lulzbot Taz Mini 2_cover.png and b/resources/profiles/Lulzbot/Lulzbot Taz Mini 2_cover.png differ
diff --git a/resources/profiles/Lulzbot/Lulzbot Taz Pro Dual_cover.png b/resources/profiles/Lulzbot/Lulzbot Taz Pro Dual_cover.png
index 92a3c5c775..e345152365 100644
Binary files a/resources/profiles/Lulzbot/Lulzbot Taz Pro Dual_cover.png and b/resources/profiles/Lulzbot/Lulzbot Taz Pro Dual_cover.png differ
diff --git a/resources/profiles/Lulzbot/Lulzbot Taz Pro S_cover.png b/resources/profiles/Lulzbot/Lulzbot Taz Pro S_cover.png
index 581cf7f515..524e8946c2 100644
Binary files a/resources/profiles/Lulzbot/Lulzbot Taz Pro S_cover.png and b/resources/profiles/Lulzbot/Lulzbot Taz Pro S_cover.png differ
diff --git a/resources/profiles/Lulzbot/Lulzbot Taz Workhorse_cover.png b/resources/profiles/Lulzbot/Lulzbot Taz Workhorse_cover.png
index 246c5ae183..36dcb32356 100644
Binary files a/resources/profiles/Lulzbot/Lulzbot Taz Workhorse_cover.png and b/resources/profiles/Lulzbot/Lulzbot Taz Workhorse_cover.png differ
diff --git a/resources/profiles/Peopoly/Peopoly Magneto X_cover.png b/resources/profiles/Peopoly/Peopoly Magneto X_cover.png
index d00781604a..b1d1c39ea4 100644
Binary files a/resources/profiles/Peopoly/Peopoly Magneto X_cover.png and b/resources/profiles/Peopoly/Peopoly Magneto X_cover.png differ
diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json
index e2291ea064..2aafc40591 100644
--- a/resources/profiles/Prusa.json
+++ b/resources/profiles/Prusa.json
@@ -4,34 +4,18 @@
"force_update": "0",
"description": "Prusa configurations",
"machine_model_list": [
+ {
+ "name": "Prusa CORE One",
+ "sub_path": "machine/Prusa CORE One.json"
+ },
+ {
+ "name": "Prusa CORE One HF",
+ "sub_path": "machine/Prusa CORE One HF.json"
+ },
{
"name": "MK4IS",
"sub_path": "machine/Prusa MK4.json"
},
- {
- "name": "MINIIS",
- "sub_path": "machine/Prusa MINIIS.json"
- },
- {
- "name": "MK3S",
- "sub_path": "machine/Prusa MK3S.json"
- },
- {
- "name": "MINI",
- "sub_path": "machine/Prusa MINI.json"
- },
- {
- "name": "MK3.5",
- "sub_path": "machine/Prusa MK3.5.json"
- },
- {
- "name": "Prusa XL",
- "sub_path": "machine/Prusa XL.json"
- },
- {
- "name": "Prusa XL 5T",
- "sub_path": "machine/Prusa XL 5T.json"
- },
{
"name": "MK4S",
"sub_path": "machine/Prusa MK4S.json"
@@ -41,12 +25,28 @@
"sub_path": "machine/Prusa MK4S HF.json"
},
{
- "name": "Prusa CORE One",
- "sub_path": "machine/Prusa CORE One.json"
+ "name": "Prusa XL",
+ "sub_path": "machine/Prusa XL.json"
},
{
- "name": "Prusa CORE One HF",
- "sub_path": "machine/Prusa CORE One HF.json"
+ "name": "Prusa XL 5T",
+ "sub_path": "machine/Prusa XL 5T.json"
+ },
+ {
+ "name": "MK3.5",
+ "sub_path": "machine/Prusa MK3.5.json"
+ },
+ {
+ "name": "MK3S",
+ "sub_path": "machine/Prusa MK3S.json"
+ },
+ {
+ "name": "MINI",
+ "sub_path": "machine/Prusa MINI.json"
+ },
+ {
+ "name": "MINIIS",
+ "sub_path": "machine/Prusa MINIIS.json"
}
],
"process_list": [
diff --git a/resources/profiles/Prusa/MINIIS_cover.png b/resources/profiles/Prusa/MINIIS_cover.png
index c321e4c545..698ee63655 100644
Binary files a/resources/profiles/Prusa/MINIIS_cover.png and b/resources/profiles/Prusa/MINIIS_cover.png differ
diff --git a/resources/profiles/Prusa/MINI_cover.png b/resources/profiles/Prusa/MINI_cover.png
index d85fddf6f8..698ee63655 100644
Binary files a/resources/profiles/Prusa/MINI_cover.png and b/resources/profiles/Prusa/MINI_cover.png differ
diff --git a/resources/profiles/Prusa/MK3.5_cover.png b/resources/profiles/Prusa/MK3.5_cover.png
index cf9455c163..21c5cfb09f 100644
Binary files a/resources/profiles/Prusa/MK3.5_cover.png and b/resources/profiles/Prusa/MK3.5_cover.png differ
diff --git a/resources/profiles/Prusa/MK3S_cover.png b/resources/profiles/Prusa/MK3S_cover.png
index 4eb817fa8c..48cc071667 100644
Binary files a/resources/profiles/Prusa/MK3S_cover.png and b/resources/profiles/Prusa/MK3S_cover.png differ
diff --git a/resources/profiles/Prusa/MK4IS_cover.png b/resources/profiles/Prusa/MK4IS_cover.png
index cf9455c163..2d53af4fa8 100644
Binary files a/resources/profiles/Prusa/MK4IS_cover.png and b/resources/profiles/Prusa/MK4IS_cover.png differ
diff --git a/resources/profiles/Prusa/MK4S HF_cover.png b/resources/profiles/Prusa/MK4S HF_cover.png
index 334a0abe16..0f074d71ad 100644
Binary files a/resources/profiles/Prusa/MK4S HF_cover.png and b/resources/profiles/Prusa/MK4S HF_cover.png differ
diff --git a/resources/profiles/Prusa/MK4S_cover.png b/resources/profiles/Prusa/MK4S_cover.png
index 334a0abe16..0f074d71ad 100644
Binary files a/resources/profiles/Prusa/MK4S_cover.png and b/resources/profiles/Prusa/MK4S_cover.png differ
diff --git a/resources/profiles/Prusa/Prusa XL 5T_cover.png b/resources/profiles/Prusa/Prusa XL 5T_cover.png
index 6d3654c1b4..5cfc6bcf01 100644
Binary files a/resources/profiles/Prusa/Prusa XL 5T_cover.png and b/resources/profiles/Prusa/Prusa XL 5T_cover.png differ
diff --git a/resources/profiles/Prusa/Prusa XL_cover.png b/resources/profiles/Prusa/Prusa XL_cover.png
index 751e17261e..f2bc62f148 100644
Binary files a/resources/profiles/Prusa/Prusa XL_cover.png and b/resources/profiles/Prusa/Prusa XL_cover.png differ
diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS.json b/resources/profiles/Prusa/machine/Prusa MINIIS.json
index 5735ad018c..85aad5d9b5 100644
--- a/resources/profiles/Prusa/machine/Prusa MINIIS.json
+++ b/resources/profiles/Prusa/machine/Prusa MINIIS.json
@@ -1,6 +1,6 @@
{
"type": "machine_model",
- "name": "Prusa MINI",
+ "name": "Prusa MINI IS",
"model_id": "MINI",
"nozzle_diameter": "0.25;0.4;0.6;0.8",
"machine_tech": "FFF",
diff --git a/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png b/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png
index 59c148d80c..b16c0227a3 100644
Binary files a/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png and b/resources/profiles/Raise3D/Raise3D Pro3 Plus_cover.png differ
diff --git a/resources/profiles/Raise3D/Raise3D Pro3_cover.png b/resources/profiles/Raise3D/Raise3D Pro3_cover.png
index c477ac614c..a266195c19 100644
Binary files a/resources/profiles/Raise3D/Raise3D Pro3_cover.png and b/resources/profiles/Raise3D/Raise3D Pro3_cover.png differ
diff --git a/resources/profiles/Ratrig/RatRig V-Cast_cover.png b/resources/profiles/Ratrig/RatRig V-Cast_cover.png
index 5628581bcf..8eb71d5c31 100644
Binary files a/resources/profiles/Ratrig/RatRig V-Cast_cover.png and b/resources/profiles/Ratrig/RatRig V-Cast_cover.png differ
diff --git a/resources/profiles/Ratrig/RatRig V-Core 3 200_cover.png b/resources/profiles/Ratrig/RatRig V-Core 3 200_cover.png
index b5e36a416b..33e1dfa7ef 100644
Binary files a/resources/profiles/Ratrig/RatRig V-Core 3 200_cover.png and b/resources/profiles/Ratrig/RatRig V-Core 3 200_cover.png differ
diff --git a/resources/profiles/Ratrig/RatRig V-Core 3 300_cover.png b/resources/profiles/Ratrig/RatRig V-Core 3 300_cover.png
index b5e36a416b..7546c7d72c 100644
Binary files a/resources/profiles/Ratrig/RatRig V-Core 3 300_cover.png and b/resources/profiles/Ratrig/RatRig V-Core 3 300_cover.png differ
diff --git a/resources/profiles/Ratrig/RatRig V-Core 3 400_cover.png b/resources/profiles/Ratrig/RatRig V-Core 3 400_cover.png
index b5e36a416b..aab4dfb74f 100644
Binary files a/resources/profiles/Ratrig/RatRig V-Core 3 400_cover.png and b/resources/profiles/Ratrig/RatRig V-Core 3 400_cover.png differ
diff --git a/resources/profiles/Ratrig/RatRig V-Core 3 500_cover.png b/resources/profiles/Ratrig/RatRig V-Core 3 500_cover.png
index b5e36a416b..dd1f1cdbd2 100644
Binary files a/resources/profiles/Ratrig/RatRig V-Core 3 500_cover.png and b/resources/profiles/Ratrig/RatRig V-Core 3 500_cover.png differ
diff --git a/resources/profiles/Ratrig/RatRig V-Minion_cover.png b/resources/profiles/Ratrig/RatRig V-Minion_cover.png
index 356b36a841..250878577e 100644
Binary files a/resources/profiles/Ratrig/RatRig V-Minion_cover.png and b/resources/profiles/Ratrig/RatRig V-Minion_cover.png differ
diff --git a/resources/profiles/SecKit/Seckit Go3_cover.png b/resources/profiles/SecKit/Seckit Go3_cover.png
index 60f56cad53..20fe2f2e81 100644
Binary files a/resources/profiles/SecKit/Seckit Go3_cover.png and b/resources/profiles/SecKit/Seckit Go3_cover.png differ
diff --git a/resources/profiles/Tiertime.json b/resources/profiles/Tiertime.json
new file mode 100644
index 0000000000..1b8157261f
--- /dev/null
+++ b/resources/profiles/Tiertime.json
@@ -0,0 +1,528 @@
+{
+ "name": "Tiertime",
+ "version": "02.03.00.03",
+ "force_update": "0",
+ "description": "Tiertime configurations",
+ "machine_model_list": [
+ {
+ "name": "Tiertime UP400 Pro",
+ "sub_path": "machine/Tiertime UP400 Pro.json"
+ },
+ {
+ "name": "Tiertime UP310 Pro",
+ "sub_path": "machine/Tiertime UP310 Pro.json"
+ },
+ {
+ "name": "Tiertime UP300 HS",
+ "sub_path": "machine/Tiertime UP300 HS.json"
+ },
+ {
+ "name": "Tiertime UP600 HS",
+ "sub_path": "machine/Tiertime UP600 HS.json"
+ }
+ ],
+ "process_list": [
+ {
+ "name": "fdm_process_common",
+ "sub_path": "process/fdm_process_common.json"
+ },
+ {
+ "name": "fdm_process_tiertime_common",
+ "sub_path": "process/fdm_process_tiertime_common.json"
+ },
+ {
+ "name": "fdm_process_tiertime_HS_common",
+ "sub_path": "process/fdm_process_tiertime_HS_common.json"
+ },
+ {
+ "name": "0.12mm Fine @Tiertime UP400 Pro",
+ "sub_path": "process/0.12mm Fine @Tiertime UP400 Pro.json"
+ },
+ {
+ "name": "0.16mm Optimal @Tiertime UP400 Pro",
+ "sub_path": "process/0.16mm Optimal @Tiertime UP400 Pro.json"
+ },
+ {
+ "name": "0.20mm Standard @Tiertime UP400 Pro",
+ "sub_path": "process/0.20mm Standard @Tiertime UP400 Pro.json"
+ },
+ {
+ "name": "0.24mm Draft @Tiertime UP400 Pro",
+ "sub_path": "process/0.24mm Draft @Tiertime UP400 Pro.json"
+ },
+ {
+ "name": "0.28mm Extra Draft @Tiertime UP400 Pro",
+ "sub_path": "process/0.28mm Extra Draft @Tiertime UP400 Pro.json"
+ },
+ {
+ "name": "0.12mm Fine @Tiertime UP310 Pro",
+ "sub_path": "process/0.12mm Fine @Tiertime UP310 Pro.json"
+ },
+ {
+ "name": "0.16mm Optimal @Tiertime UP310 Pro",
+ "sub_path": "process/0.16mm Optimal @Tiertime UP310 Pro.json"
+ },
+ {
+ "name": "0.20mm Standard @Tiertime UP310 Pro",
+ "sub_path": "process/0.20mm Standard @Tiertime UP310 Pro.json"
+ },
+ {
+ "name": "0.24mm Draft @Tiertime UP310 Pro",
+ "sub_path": "process/0.24mm Draft @Tiertime UP310 Pro.json"
+ },
+ {
+ "name": "0.28mm Extra Draft @Tiertime UP310 Pro",
+ "sub_path": "process/0.28mm Extra Draft @Tiertime UP310 Pro.json"
+ },
+ {
+ "name": "0.12mm Fine @Tiertime UP300 HS",
+ "sub_path": "process/0.12mm Fine @Tiertime UP300 HS.json"
+ },
+ {
+ "name": "0.16mm Optimal @Tiertime UP300 HS",
+ "sub_path": "process/0.16mm Optimal @Tiertime UP300 HS.json"
+ },
+ {
+ "name": "0.20mm Standard @Tiertime UP300 HS",
+ "sub_path": "process/0.20mm Standard @Tiertime UP300 HS.json"
+ },
+ {
+ "name": "0.24mm Draft @Tiertime UP300 HS",
+ "sub_path": "process/0.24mm Draft @Tiertime UP300 HS.json"
+ },
+ {
+ "name": "0.28mm Extra Draft @Tiertime UP300 HS",
+ "sub_path": "process/0.28mm Extra Draft @Tiertime UP300 HS.json"
+ },
+ {
+ "name": "0.12mm Fine @Tiertime UP600 HS",
+ "sub_path": "process/0.12mm Fine @Tiertime UP600 HS.json"
+ },
+ {
+ "name": "0.16mm Optimal @Tiertime UP600 HS",
+ "sub_path": "process/0.16mm Optimal @Tiertime UP600 HS.json"
+ },
+ {
+ "name": "0.20mm Standard @Tiertime UP600 HS",
+ "sub_path": "process/0.20mm Standard @Tiertime UP600 HS.json"
+ },
+ {
+ "name": "0.24mm Draft @Tiertime UP600 HS",
+ "sub_path": "process/0.24mm Draft @Tiertime UP600 HS.json"
+ },
+ {
+ "name": "0.28mm Extra Draft @Tiertime UP600 HS",
+ "sub_path": "process/0.28mm Extra Draft @Tiertime UP600 HS.json"
+ }
+ ],
+ "filament_list": [
+ {
+ "name": "fdm_filament_common",
+ "sub_path": "filament/fdm_filament_common.json"
+ },
+ {
+ "name": "fdm_filament_pla",
+ "sub_path": "filament/fdm_filament_pla.json"
+ },
+ {
+ "name": "fdm_filament_abs",
+ "sub_path": "filament/fdm_filament_abs.json"
+ },
+ {
+ "name": "fdm_filament_tpu",
+ "sub_path": "filament/fdm_filament_tpu.json"
+ },
+ {
+ "name": "fdm_filament_pet",
+ "sub_path": "filament/fdm_filament_pet.json"
+ },
+ {
+ "name": "fdm_filament_pc",
+ "sub_path": "filament/fdm_filament_pc.json"
+ },
+ {
+ "name": "fdm_filament_pctg",
+ "sub_path": "filament/fdm_filament_pctg.json"
+ },
+ {
+ "name": "fdm_filament_asa",
+ "sub_path": "filament/fdm_filament_asa.json"
+ },
+ {
+ "name": "fdm_filament_pva",
+ "sub_path": "filament/fdm_filament_pva.json"
+ },
+ {
+ "name": "fdm_filament_pa",
+ "sub_path": "filament/fdm_filament_pa.json"
+ },
+ {
+ "name": "fdm_filament_hips",
+ "sub_path": "filament/fdm_filament_hips.json"
+ },
+ {
+ "name": "fdm_filament_pps",
+ "sub_path": "filament/fdm_filament_pps.json"
+ },
+ {
+ "name": "fdm_filament_ppa",
+ "sub_path": "filament/fdm_filament_ppa.json"
+ },
+ {
+ "name": "fdm_filament_pe",
+ "sub_path": "filament/fdm_filament_pe.json"
+ },
+ {
+ "name": "fdm_filament_pp",
+ "sub_path": "filament/fdm_filament_pp.json"
+ },
+ {
+ "name": "fdm_filament_eva",
+ "sub_path": "filament/fdm_filament_eva.json"
+ },
+ {
+ "name": "fdm_filament_pha",
+ "sub_path": "filament/fdm_filament_pha.json"
+ },
+ {
+ "name": "fdm_filament_bvoh",
+ "sub_path": "filament/fdm_filament_bvoh.json"
+ },
+ {
+ "name": "fdm_filament_sbs",
+ "sub_path": "filament/fdm_filament_sbs.json"
+ },
+ {
+ "name": "Tiertime PLA",
+ "sub_path": "filament/Tiertime PLA.json"
+ },
+ {
+ "name": "Tiertime ABS",
+ "sub_path": "filament/Tiertime ABS.json"
+ },
+ {
+ "name": "Tiertime ASA",
+ "sub_path": "filament/Tiertime ASA.json"
+ },
+ {
+ "name": "Tiertime PA6-CF",
+ "sub_path": "filament/Tiertime PA6-CF.json"
+ },
+ {
+ "name": "Tiertime PC",
+ "sub_path": "filament/Tiertime PC.json"
+ },
+ {
+ "name": "Tiertime PET-CF",
+ "sub_path": "filament/Tiertime PET-CF.json"
+ },
+ {
+ "name": "Tiertime PETG",
+ "sub_path": "filament/Tiertime PETG.json"
+ },
+ {
+ "name": "Tiertime PLA-CF",
+ "sub_path": "filament/Tiertime PLA-CF.json"
+ },
+ {
+ "name": "Tiertime PVA",
+ "sub_path": "filament/Tiertime PVA.json"
+ },
+ {
+ "name": "Tiertime TPU 95A",
+ "sub_path": "filament/Tiertime TPU 95A.json"
+ },
+ {
+ "name": "Tiertime PLA@300HS",
+ "sub_path": "filament/Tiertime PLA@300HS.json"
+ },
+ {
+ "name": "Tiertime ABS@300HS",
+ "sub_path": "filament/Tiertime ABS@300HS.json"
+ },
+ {
+ "name": "Tiertime ASA@300HS",
+ "sub_path": "filament/Tiertime ASA@300HS.json"
+ },
+ {
+ "name": "Tiertime PA6-CF@300HS",
+ "sub_path": "filament/Tiertime PA6-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime PC@300HS",
+ "sub_path": "filament/Tiertime PC@300HS.json"
+ },
+ {
+ "name": "Tiertime PET-CF@300HS",
+ "sub_path": "filament/Tiertime PET-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime PETG@300HS",
+ "sub_path": "filament/Tiertime PETG@300HS.json"
+ },
+ {
+ "name": "Tiertime PLA-CF@300HS",
+ "sub_path": "filament/Tiertime PLA-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime PVA@300HS",
+ "sub_path": "filament/Tiertime PVA@300HS.json"
+ },
+ {
+ "name": "Tiertime TPU 95A@300HS",
+ "sub_path": "filament/Tiertime TPU 95A@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic ABS",
+ "sub_path": "filament/Tiertime Generic ABS.json"
+ },
+ {
+ "name": "Tiertime Generic ASA",
+ "sub_path": "filament/Tiertime Generic ASA.json"
+ },
+ {
+ "name": "Tiertime Generic BVOH",
+ "sub_path": "filament/Tiertime Generic BVOH.json"
+ },
+ {
+ "name": "Tiertime Generic EVA",
+ "sub_path": "filament/Tiertime Generic EVA.json"
+ },
+ {
+ "name": "Tiertime Generic HIPS",
+ "sub_path": "filament/Tiertime Generic HIPS.json"
+ },
+ {
+ "name": "Tiertime Generic PA-CF",
+ "sub_path": "filament/Tiertime Generic PA-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PA",
+ "sub_path": "filament/Tiertime Generic PA.json"
+ },
+ {
+ "name": "Tiertime Generic PC",
+ "sub_path": "filament/Tiertime Generic PC.json"
+ },
+ {
+ "name": "Tiertime Generic PCTG",
+ "sub_path": "filament/Tiertime Generic PCTG.json"
+ },
+ {
+ "name": "Tiertime Generic PE-CF",
+ "sub_path": "filament/Tiertime Generic PE-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PE",
+ "sub_path": "filament/Tiertime Generic PE.json"
+ },
+ {
+ "name": "Tiertime Generic PETG",
+ "sub_path": "filament/Tiertime Generic PETG.json"
+ },
+ {
+ "name": "Tiertime Generic PETG-CF",
+ "sub_path": "filament/Tiertime Generic PETG-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PHA",
+ "sub_path": "filament/Tiertime Generic PHA.json"
+ },
+ {
+ "name": "Tiertime Generic PLA High Speed",
+ "sub_path": "filament/Tiertime Generic PLA High Speed.json"
+ },
+ {
+ "name": "Tiertime Generic PLA Silk",
+ "sub_path": "filament/Tiertime Generic PLA Silk.json"
+ },
+ {
+ "name": "Tiertime Generic PLA-CF",
+ "sub_path": "filament/Tiertime Generic PLA-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PLA",
+ "sub_path": "filament/Tiertime Generic PLA.json"
+ },
+ {
+ "name": "Tiertime Generic PP-CF",
+ "sub_path": "filament/Tiertime Generic PP-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PP-GF",
+ "sub_path": "filament/Tiertime Generic PP-GF.json"
+ },
+ {
+ "name": "Tiertime Generic PP",
+ "sub_path": "filament/Tiertime Generic PP.json"
+ },
+ {
+ "name": "Tiertime Generic PPA-CF",
+ "sub_path": "filament/Tiertime Generic PPA-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PPA-GF",
+ "sub_path": "filament/Tiertime Generic PPA-GF.json"
+ },
+ {
+ "name": "Tiertime Generic PPS-CF",
+ "sub_path": "filament/Tiertime Generic PPS-CF.json"
+ },
+ {
+ "name": "Tiertime Generic PPS",
+ "sub_path": "filament/Tiertime Generic PPS.json"
+ },
+ {
+ "name": "Tiertime Generic PVA",
+ "sub_path": "filament/Tiertime Generic PVA.json"
+ },
+ {
+ "name": "Tiertime Generic SBS",
+ "sub_path": "filament/Tiertime Generic SBS.json"
+ }
+ ,
+ {
+ "name": "Tiertime Generic TPU",
+ "sub_path": "filament/Tiertime Generic TPU.json"
+ },
+ {
+ "name": "Tiertime Generic ABS@300HS",
+ "sub_path": "filament/Tiertime Generic ABS@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic ASA@300HS",
+ "sub_path": "filament/Tiertime Generic ASA@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic BVOH@300HS",
+ "sub_path": "filament/Tiertime Generic BVOH@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic EVA@300HS",
+ "sub_path": "filament/Tiertime Generic EVA@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic HIPS@300HS",
+ "sub_path": "filament/Tiertime Generic HIPS@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PA-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PA-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PA@300HS",
+ "sub_path": "filament/Tiertime Generic PA@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PC@300HS",
+ "sub_path": "filament/Tiertime Generic PC@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PCTG@300HS",
+ "sub_path": "filament/Tiertime Generic PCTG@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PE-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PE-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PE@300HS",
+ "sub_path": "filament/Tiertime Generic PE@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PETG@300HS",
+ "sub_path": "filament/Tiertime Generic PETG@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PETG-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PETG-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PHA@300HS",
+ "sub_path": "filament/Tiertime Generic PHA@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PLA High Speed@300HS",
+ "sub_path": "filament/Tiertime Generic PLA High Speed@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PLA Silk@300HS",
+ "sub_path": "filament/Tiertime Generic PLA Silk@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PLA-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PLA-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PLA@300HS",
+ "sub_path": "filament/Tiertime Generic PLA@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PP-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PP-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PP-GF@300HS",
+ "sub_path": "filament/Tiertime Generic PP-GF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PP@300HS",
+ "sub_path": "filament/Tiertime Generic PP@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PPA-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PPA-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PPA-GF@300HS",
+ "sub_path": "filament/Tiertime Generic PPA-GF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PPS-CF@300HS",
+ "sub_path": "filament/Tiertime Generic PPS-CF@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PPS@300HS",
+ "sub_path": "filament/Tiertime Generic PPS@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic PVA@300HS",
+ "sub_path": "filament/Tiertime Generic PVA@300HS.json"
+ },
+ {
+ "name": "Tiertime Generic SBS@300HS",
+ "sub_path": "filament/Tiertime Generic SBS@300HS.json"
+ }
+ ,
+ {
+ "name": "Tiertime Generic TPU@300HS",
+ "sub_path": "filament/Tiertime Generic TPU@300HS.json"
+ }
+ ],
+ "machine_list": [
+ {
+ "name": "fdm_machine_common",
+ "sub_path": "machine/fdm_machine_common.json"
+ },
+ {
+ "name": "fdm_tiertime_common",
+ "sub_path": "machine/fdm_tiertime_common.json"
+ },
+ {
+ "name": "Tiertime UP400 Pro 0.4 nozzle",
+ "sub_path": "machine/Tiertime UP400 Pro 0.4 nozzle.json"
+ },
+ {
+ "name": "Tiertime UP310 Pro 0.4 nozzle",
+ "sub_path": "machine/Tiertime UP310 Pro 0.4 nozzle.json"
+ },
+ {
+ "name": "Tiertime UP300 HS 0.4 nozzle",
+ "sub_path": "machine/Tiertime UP300 HS 0.4 nozzle.json"
+ },
+ {
+ "name": "Tiertime UP600 HS 0.4 nozzle",
+ "sub_path": "machine/Tiertime UP600 HS 0.4 nozzle.json"
+ }
+ ]
+}
diff --git a/resources/profiles/Tiertime/Tiertime UP300 HS_cover.png b/resources/profiles/Tiertime/Tiertime UP300 HS_cover.png
new file mode 100644
index 0000000000..86a3a44408
Binary files /dev/null and b/resources/profiles/Tiertime/Tiertime UP300 HS_cover.png differ
diff --git a/resources/profiles/Tiertime/Tiertime UP310 Pro_cover.png b/resources/profiles/Tiertime/Tiertime UP310 Pro_cover.png
new file mode 100644
index 0000000000..33861cdb5a
Binary files /dev/null and b/resources/profiles/Tiertime/Tiertime UP310 Pro_cover.png differ
diff --git a/resources/profiles/Tiertime/Tiertime UP400 Pro_cover.png b/resources/profiles/Tiertime/Tiertime UP400 Pro_cover.png
new file mode 100644
index 0000000000..abbb74a82b
Binary files /dev/null and b/resources/profiles/Tiertime/Tiertime UP400 Pro_cover.png differ
diff --git a/resources/profiles/Tiertime/Tiertime UP600 HS_cover.png b/resources/profiles/Tiertime/Tiertime UP600 HS_cover.png
new file mode 100644
index 0000000000..566ca82e7e
Binary files /dev/null and b/resources/profiles/Tiertime/Tiertime UP600 HS_cover.png differ
diff --git a/resources/profiles/Tiertime/filament/Tiertime ABS.json b/resources/profiles/Tiertime/filament/Tiertime ABS.json
new file mode 100644
index 0000000000..719a3643fd
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime ABS.json
@@ -0,0 +1,31 @@
+{
+ "type": "filament",
+ "filament_id": "GFB00",
+ "setting_id": "GFSB00",
+ "name": "Tiertime ABS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_abs",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_cost": [
+ "24.99"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime ABS@300HS.json b/resources/profiles/Tiertime/filament/Tiertime ABS@300HS.json
new file mode 100644
index 0000000000..3415f95b5b
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime ABS@300HS.json
@@ -0,0 +1,31 @@
+{
+ "type": "filament",
+ "filament_id": "GFB00_01",
+ "setting_id": "GFSB00",
+ "name": "Tiertime ABS@300HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_abs",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_cost": [
+ "24.99"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime ASA.json b/resources/profiles/Tiertime/filament/Tiertime ASA.json
new file mode 100644
index 0000000000..02e620e62a
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime ASA.json
@@ -0,0 +1,42 @@
+{
+ "type": "filament",
+ "name": "Tiertime ASA",
+ "inherits": "fdm_filament_asa",
+ "from": "system",
+ "filament_id": "GFB01",
+ "instantiation": "true",
+ "fan_max_speed": [
+ "35"
+ ],
+ "filament_cost": [
+ "31.99"
+ ],
+ "filament_density": [
+ "1.05"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "18"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature": [
+ "270"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "fan_min_speed": [
+ "25"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime ASA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime ASA@300HS.json
new file mode 100644
index 0000000000..7e3bfd1b28
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime ASA@300HS.json
@@ -0,0 +1,42 @@
+{
+ "type": "filament",
+ "name": "Tiertime ASA@300HS",
+ "inherits": "fdm_filament_asa",
+ "from": "system",
+ "filament_id": "GFB01_01",
+ "instantiation": "true",
+ "fan_max_speed": [
+ "35"
+ ],
+ "filament_cost": [
+ "31.99"
+ ],
+ "filament_density": [
+ "1.05"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "18"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature": [
+ "270"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "fan_min_speed": [
+ "25"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic ABS.json b/resources/profiles/Tiertime/filament/Tiertime Generic ABS.json
new file mode 100644
index 0000000000..dc303c7084
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic ABS.json
@@ -0,0 +1,36 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic ABS",
+ "inherits": "fdm_filament_abs",
+ "from": "system",
+ "filament_id": "GFB99",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic ABS@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic ABS@300HS.json
new file mode 100644
index 0000000000..c10a346687
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic ABS@300HS.json
@@ -0,0 +1,36 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic ABS@300HS",
+ "inherits": "fdm_filament_abs",
+ "from": "system",
+ "filament_id": "GFB99_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "fan_max_speed": [
+ "20"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic ASA.json b/resources/profiles/Tiertime/filament/Tiertime Generic ASA.json
new file mode 100644
index 0000000000..f66333275c
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic ASA.json
@@ -0,0 +1,30 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic ASA",
+ "inherits": "fdm_filament_asa",
+ "from": "system",
+ "filament_id": "GFB98",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic ASA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic ASA@300HS.json
new file mode 100644
index 0000000000..2f717c2d3b
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic ASA@300HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic ASA@300HS",
+ "inherits": "fdm_filament_asa",
+ "from": "system",
+ "filament_id": "GFB98_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic BVOH.json b/resources/profiles/Tiertime/filament/Tiertime Generic BVOH.json
new file mode 100644
index 0000000000..e221a425c0
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic BVOH.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic BVOH",
+ "inherits": "fdm_filament_bvoh",
+ "from": "system",
+ "filament_id": "GFS97",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic BVOH@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic BVOH@300HS.json
new file mode 100644
index 0000000000..e5904d9a54
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic BVOH@300HS.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic BVOH@300HS",
+ "inherits": "fdm_filament_bvoh",
+ "from": "system",
+ "filament_id": "GFS97_01",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic EVA.json b/resources/profiles/Tiertime/filament/Tiertime Generic EVA.json
new file mode 100644
index 0000000000..68e4670ff6
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic EVA.json
@@ -0,0 +1,90 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic EVA",
+ "inherits": "fdm_filament_eva",
+ "from": "system",
+ "filament_id": "GFR99",
+ "instantiation": "true",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "35"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "35"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "21.99"
+ ],
+ "filament_density": [
+ "0.94"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_type": [
+ "EVA"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "210"
+ ],
+ "nozzle_temperature_range_high": [
+ "220"
+ ],
+ "nozzle_temperature_range_low": [
+ "175"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic EVA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic EVA@300HS.json
new file mode 100644
index 0000000000..82d66de277
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic EVA@300HS.json
@@ -0,0 +1,90 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic EVA@300HS",
+ "inherits": "fdm_filament_eva",
+ "from": "system",
+ "filament_id": "GFR99_01",
+ "instantiation": "true",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "35"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "35"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "21.99"
+ ],
+ "filament_density": [
+ "0.94"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_type": [
+ "EVA"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "210"
+ ],
+ "nozzle_temperature_range_high": [
+ "220"
+ ],
+ "nozzle_temperature_range_low": [
+ "175"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic HIPS.json b/resources/profiles/Tiertime/filament/Tiertime Generic HIPS.json
new file mode 100644
index 0000000000..8a0cbe6130
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic HIPS.json
@@ -0,0 +1,15 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic HIPS",
+ "inherits": "fdm_filament_hips",
+ "from": "system",
+ "filament_id": "GFS98",
+ "instantiation": "true",
+ "filament_is_support": [
+ "1"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic HIPS@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic HIPS@300HS.json
new file mode 100644
index 0000000000..eec8044a21
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic HIPS@300HS.json
@@ -0,0 +1,15 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic HIPS@300HS",
+ "inherits": "fdm_filament_hips",
+ "from": "system",
+ "filament_id": "GFS98_01",
+ "instantiation": "true",
+ "filament_is_support": [
+ "1"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PA-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PA-CF.json
new file mode 100644
index 0000000000..934041b377
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PA-CF.json
@@ -0,0 +1,37 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PA-CF",
+ "inherits": "fdm_filament_pa",
+ "from": "system",
+ "filament_id": "GFN98",
+ "setting_id": "GFSN99",
+ "instantiation": "true",
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_type": [
+ "PA-CF"
+ ],
+ "full_fan_speed_layer": [
+ "2"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "temperature_vitrification": [
+ "170"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PA-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PA-CF@300HS.json
new file mode 100644
index 0000000000..7023981fd3
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PA-CF@300HS.json
@@ -0,0 +1,37 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PA-CF@300HS",
+ "inherits": "fdm_filament_pa",
+ "from": "system",
+ "filament_id": "GFN98_02",
+ "setting_id": "GFSN99",
+ "instantiation": "true",
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_type": [
+ "PA-CF"
+ ],
+ "full_fan_speed_layer": [
+ "2"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "temperature_vitrification": [
+ "170"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PA.json b/resources/profiles/Tiertime/filament/Tiertime Generic PA.json
new file mode 100644
index 0000000000..4ad758f133
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PA.json
@@ -0,0 +1,55 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PA",
+ "inherits": "fdm_filament_pa",
+ "from": "system",
+ "filament_id": "GFN99",
+ "setting_id": "GFSN98",
+ "instantiation": "true",
+ "chamber_temperatures": [
+ "60"
+ ],
+ "fan_cooling_layer_time": [
+ "65"
+ ],
+ "fan_max_speed": [
+ "85"
+ ],
+ "fan_min_speed": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "nozzle_temperature_range_high": [
+ "280"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_speed": [
+ "95"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "required_nozzle_HRC": [
+ "3"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PA@300HS.json
new file mode 100644
index 0000000000..722bbdbceb
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PA@300HS.json
@@ -0,0 +1,55 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PA@300HS",
+ "inherits": "fdm_filament_pa",
+ "from": "system",
+ "filament_id": "GFN99_01",
+ "setting_id": "GFSN98",
+ "instantiation": "true",
+ "chamber_temperatures": [
+ "60"
+ ],
+ "fan_cooling_layer_time": [
+ "65"
+ ],
+ "fan_max_speed": [
+ "85"
+ ],
+ "fan_min_speed": [
+ "40"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "nozzle_temperature_range_high": [
+ "280"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_speed": [
+ "95"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "required_nozzle_HRC": [
+ "3"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PC.json b/resources/profiles/Tiertime/filament/Tiertime Generic PC.json
new file mode 100644
index 0000000000..683beec88c
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PC.json
@@ -0,0 +1,18 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PC",
+ "inherits": "fdm_filament_pc",
+ "from": "system",
+ "filament_id": "GFC99",
+ "instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "filament_flow_ratio": [
+ "0.94"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PC@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PC@300HS.json
new file mode 100644
index 0000000000..54250af7fe
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PC@300HS.json
@@ -0,0 +1,18 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PC@300HS",
+ "inherits": "fdm_filament_pc",
+ "from": "system",
+ "filament_id": "GFC99_01",
+ "instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "filament_flow_ratio": [
+ "0.94"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PCTG.json b/resources/profiles/Tiertime/filament/Tiertime Generic PCTG.json
new file mode 100644
index 0000000000..b73721aca8
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PCTG.json
@@ -0,0 +1,78 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PCTG",
+ "inherits": "fdm_filament_pctg",
+ "from": "system",
+ "filament_id": "GFG97",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "28.99"
+ ],
+ "filament_density": [
+ "1.29"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "temperature_vitrification": [
+ "90"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PCTG@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PCTG@300HS.json
new file mode 100644
index 0000000000..ccd8a9f847
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PCTG@300HS.json
@@ -0,0 +1,78 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PCTG@300HS",
+ "inherits": "fdm_filament_pctg",
+ "from": "system",
+ "filament_id": "GFG97-01",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "28.99"
+ ],
+ "filament_density": [
+ "1.29"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "temperature_vitrification": [
+ "90"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PE-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PE-CF.json
new file mode 100644
index 0000000000..8b43fc2c3a
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PE-CF.json
@@ -0,0 +1,42 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PE-CF",
+ "inherits": "fdm_filament_pe",
+ "from": "system",
+ "filament_id": "GFP98",
+ "instantiation": "true",
+ "filament_cost": [
+ "65.99"
+ ],
+ "filament_density": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PE-CF"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "210"
+ ],
+ "nozzle_temperature_range_high": [
+ "220"
+ ],
+ "nozzle_temperature_range_low": [
+ "175"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PE-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PE-CF@300HS.json
new file mode 100644
index 0000000000..caad0f326e
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PE-CF@300HS.json
@@ -0,0 +1,42 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PE-CF@300HS",
+ "inherits": "fdm_filament_pe",
+ "from": "system",
+ "filament_id": "GFP98_01",
+ "instantiation": "true",
+ "filament_cost": [
+ "65.99"
+ ],
+ "filament_density": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PE-CF"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "210"
+ ],
+ "nozzle_temperature_range_high": [
+ "220"
+ ],
+ "nozzle_temperature_range_low": [
+ "175"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PE.json b/resources/profiles/Tiertime/filament/Tiertime Generic PE.json
new file mode 100644
index 0000000000..0619b1855c
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PE.json
@@ -0,0 +1,39 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PE",
+ "inherits": "fdm_filament_pe",
+ "from": "system",
+ "filament_id": "GFP99",
+ "instantiation": "true",
+ "filament_cost": [
+ "40.99"
+ ],
+ "filament_density": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "210"
+ ],
+ "nozzle_temperature_range_high": [
+ "220"
+ ],
+ "nozzle_temperature_range_low": [
+ "175"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PE@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PE@300HS.json
new file mode 100644
index 0000000000..98937d8c8f
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PE@300HS.json
@@ -0,0 +1,39 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PE@300HS",
+ "inherits": "fdm_filament_pe",
+ "from": "system",
+ "filament_id": "GFP99_01",
+ "instantiation": "true",
+ "filament_cost": [
+ "40.99"
+ ],
+ "filament_density": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "nozzle_temperature": [
+ "210"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "210"
+ ],
+ "nozzle_temperature_range_high": [
+ "220"
+ ],
+ "nozzle_temperature_range_low": [
+ "175"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PETG-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PETG-CF.json
new file mode 100644
index 0000000000..29d19f6196
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PETG-CF.json
@@ -0,0 +1,87 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PETG-CF",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFG98",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_cost": [
+ "34.99"
+ ],
+ "filament_density": [
+ "1.25"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_type": [
+ "PETG-CF"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "6"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "5"
+ ],
+ "filament_max_volumetric_speed": [
+ "11.5"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PETG-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PETG-CF@300HS.json
new file mode 100644
index 0000000000..5bb514fde6
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PETG-CF@300HS.json
@@ -0,0 +1,87 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PETG-CF@300HS",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFG98_01",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_cost": [
+ "34.99"
+ ],
+ "filament_density": [
+ "1.25"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_type": [
+ "PETG-CF"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "6"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "5"
+ ],
+ "filament_max_volumetric_speed": [
+ "11.5"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PETG.json b/resources/profiles/Tiertime/filament/Tiertime Generic PETG.json
new file mode 100644
index 0000000000..0957098cbb
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PETG.json
@@ -0,0 +1,69 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PETG",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFG99",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "90"
+ ],
+ "fan_min_speed": [
+ "40"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PETG@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PETG@300HS.json
new file mode 100644
index 0000000000..8b206aa565
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PETG@300HS.json
@@ -0,0 +1,69 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PETG@300HS",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFG99_01",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "90"
+ ],
+ "fan_min_speed": [
+ "40"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PHA.json b/resources/profiles/Tiertime/filament/Tiertime Generic PHA.json
new file mode 100644
index 0000000000..6d93f4810c
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PHA.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PHA",
+ "inherits": "fdm_filament_pha",
+ "from": "system",
+ "filament_id": "GFR98",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PHA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PHA@300HS.json
new file mode 100644
index 0000000000..8a9dc6210b
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PHA@300HS.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PHA@300HS",
+ "inherits": "fdm_filament_pha",
+ "from": "system",
+ "filament_id": "GFR98_01",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA High Speed.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA High Speed.json
new file mode 100644
index 0000000000..286027edbe
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA High Speed.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA High Speed",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL95",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_max_volumetric_speed": [
+ "18"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA High Speed@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA High Speed@300HS.json
new file mode 100644
index 0000000000..5d50ab8d5a
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA High Speed@300HS.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA High Speed@300HS",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL95_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_max_volumetric_speed": [
+ "18"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA Silk.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA Silk.json
new file mode 100644
index 0000000000..caf39723ca
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA Silk.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA Silk",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL96",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_max_volumetric_speed": [
+ "7.5"
+ ],
+ "filament_retraction_length": [
+ "0.5"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA Silk@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA Silk@300HS.json
new file mode 100644
index 0000000000..fda4340833
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA Silk@300HS.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA Silk@300HS",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL96_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_max_volumetric_speed": [
+ "7.5"
+ ],
+ "filament_retraction_length": [
+ "0.5"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA-CF.json
new file mode 100644
index 0000000000..93f067af91
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA-CF.json
@@ -0,0 +1,57 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA-CF",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL98",
+ "instantiation": "true",
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "cool_plate_temp": [
+ "45"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "45"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_type": [
+ "PLA-CF"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "fan_cooling_layer_time": [
+ "80"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "60"
+ ],
+ "hot_plate_temp": [
+ "65"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "65"
+ ],
+ "textured_plate_temp": [
+ "65"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "65"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA-CF@300HS.json
new file mode 100644
index 0000000000..d5cbfd2210
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA-CF@300HS.json
@@ -0,0 +1,57 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA-CF@300HS",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL98_01",
+ "instantiation": "true",
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "cool_plate_temp": [
+ "45"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "45"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_type": [
+ "PLA-CF"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "fan_cooling_layer_time": [
+ "80"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "60"
+ ],
+ "hot_plate_temp": [
+ "65"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "65"
+ ],
+ "textured_plate_temp": [
+ "65"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "65"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA.json
new file mode 100644
index 0000000000..a3e28a5668
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL99",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PLA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PLA@300HS.json
new file mode 100644
index 0000000000..d1516c6591
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PLA@300HS.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PLA@300HS",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFL99_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PP-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PP-CF.json
new file mode 100644
index 0000000000..3e598680cc
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PP-CF.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PP-CF",
+ "inherits": "fdm_filament_pp",
+ "from": "system",
+ "filament_id": "GFP96",
+ "instantiation": "true",
+ "filament_cost": [
+ "77.99"
+ ],
+ "filament_density": [
+ "1.01"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PP-CF"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PP-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PP-CF@300HS.json
new file mode 100644
index 0000000000..c004535ac2
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PP-CF@300HS.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PP-CF@300HS",
+ "inherits": "fdm_filament_pp",
+ "from": "system",
+ "filament_id": "GFP96_01",
+ "instantiation": "true",
+ "filament_cost": [
+ "77.99"
+ ],
+ "filament_density": [
+ "1.01"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PP-CF"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PP-GF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PP-GF.json
new file mode 100644
index 0000000000..f09aac6015
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PP-GF.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PP-GF",
+ "inherits": "fdm_filament_pp",
+ "from": "system",
+ "filament_id": "GFP95",
+ "instantiation": "true",
+ "filament_cost": [
+ "59.99"
+ ],
+ "filament_density": [
+ "1.05"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PP-GF"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PP-GF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PP-GF@300HS.json
new file mode 100644
index 0000000000..80e489e474
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PP-GF@300HS.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PP-GF@300HS",
+ "inherits": "fdm_filament_pp",
+ "from": "system",
+ "filament_id": "GFP95_01",
+ "instantiation": "true",
+ "filament_cost": [
+ "59.99"
+ ],
+ "filament_density": [
+ "1.05"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PP-GF"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PP.json b/resources/profiles/Tiertime/filament/Tiertime Generic PP.json
new file mode 100644
index 0000000000..5597854336
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PP.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PP",
+ "inherits": "fdm_filament_pp",
+ "from": "system",
+ "filament_id": "GFP97",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PP@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PP@300HS.json
new file mode 100644
index 0000000000..8da5f28d61
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PP@300HS.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PP@300HS",
+ "inherits": "fdm_filament_pp",
+ "from": "system",
+ "filament_id": "GFP97_01",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPA-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-CF.json
new file mode 100644
index 0000000000..f7638fd66d
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-CF.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPA-CF",
+ "inherits": "fdm_filament_ppa",
+ "from": "system",
+ "filament_id": "GFN97",
+ "instantiation": "true",
+ "filament_type": [
+ "PPA-CF"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "fan_max_speed": [
+ "35"
+ ],
+ "filament_max_volumetric_speed": [
+ "6.5"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPA-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-CF@300HS.json
new file mode 100644
index 0000000000..3340db467e
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-CF@300HS.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPA-CF@300HS",
+ "inherits": "fdm_filament_ppa",
+ "from": "system",
+ "filament_id": "GFN97_01",
+ "instantiation": "true",
+ "filament_type": [
+ "PPA-CF"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "fan_max_speed": [
+ "35"
+ ],
+ "filament_max_volumetric_speed": [
+ "6.5"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPA-GF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-GF.json
new file mode 100644
index 0000000000..0d57eb8bea
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-GF.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPA-GF",
+ "inherits": "fdm_filament_ppa",
+ "from": "system",
+ "filament_id": "GFN96",
+ "instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PPA-GF"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPA-GF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-GF@300HS.json
new file mode 100644
index 0000000000..bb014dc95d
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPA-GF@300HS.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPA-GF@300HS",
+ "inherits": "fdm_filament_ppa",
+ "from": "system",
+ "filament_id": "GFN96_01",
+ "instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PPA-GF"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPS-CF.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPS-CF.json
new file mode 100644
index 0000000000..86578a3d2a
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPS-CF.json
@@ -0,0 +1,33 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPS-CF",
+ "inherits": "fdm_filament_pps",
+ "from": "system",
+ "filament_id": "GFT98",
+ "instantiation": "true",
+ "fan_max_speed": [
+ "30"
+ ],
+ "filament_density": [
+ "1.3"
+ ],
+ "filament_max_volumetric_speed": [
+ "3"
+ ],
+ "filament_type": [
+ "PPS-CF"
+ ],
+ "nozzle_temperature_range_high": [
+ "350"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "temperature_vitrification": [
+ "220"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPS-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPS-CF@300HS.json
new file mode 100644
index 0000000000..8ed0241634
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPS-CF@300HS.json
@@ -0,0 +1,33 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPS-CF@300HS",
+ "inherits": "fdm_filament_pps",
+ "from": "system",
+ "filament_id": "GFT98_01",
+ "instantiation": "true",
+ "fan_max_speed": [
+ "30"
+ ],
+ "filament_density": [
+ "1.3"
+ ],
+ "filament_max_volumetric_speed": [
+ "3"
+ ],
+ "filament_type": [
+ "PPS-CF"
+ ],
+ "nozzle_temperature_range_high": [
+ "350"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "temperature_vitrification": [
+ "220"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPS.json
new file mode 100644
index 0000000000..8be5faba24
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPS.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPS",
+ "inherits": "fdm_filament_pps",
+ "from": "system",
+ "filament_id": "GFT97",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PPS@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PPS@300HS.json
new file mode 100644
index 0000000000..3c27726fad
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PPS@300HS.json
@@ -0,0 +1,12 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PPS@300HS",
+ "inherits": "fdm_filament_pps",
+ "from": "system",
+ "filament_id": "GFT97_01",
+ "instantiation": "true",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PVA.json b/resources/profiles/Tiertime/filament/Tiertime Generic PVA.json
new file mode 100644
index 0000000000..139e6bad4f
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PVA.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PVA",
+ "inherits": "fdm_filament_pva",
+ "from": "system",
+ "filament_id": "GFS99",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic PVA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic PVA@300HS.json
new file mode 100644
index 0000000000..c148d32f09
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic PVA@300HS.json
@@ -0,0 +1,24 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic PVA@300HS",
+ "inherits": "fdm_filament_pva",
+ "from": "system",
+ "filament_id": "GFS99_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_max_volumetric_speed": [
+ "16"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic SBS.json b/resources/profiles/Tiertime/filament/Tiertime Generic SBS.json
new file mode 100644
index 0000000000..4c671c8029
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic SBS.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic SBS",
+ "inherits": "fdm_filament_sbs",
+ "from": "system",
+ "filament_id": "GFL99",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic SBS@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic SBS@300HS.json
new file mode 100644
index 0000000000..dd7709b3d0
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic SBS@300HS.json
@@ -0,0 +1,21 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic SBS@300HS",
+ "inherits": "fdm_filament_sbs",
+ "from": "system",
+ "filament_id": "GFL99_01",
+ "instantiation": "true",
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming\n\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic TPU.json b/resources/profiles/Tiertime/filament/Tiertime Generic TPU.json
new file mode 100644
index 0000000000..db29d11d2b
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic TPU.json
@@ -0,0 +1,19 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic TPU",
+ "inherits": "fdm_filament_tpu",
+ "from": "system",
+ "filament_id": "GFU99",
+ "setting_id": "GFSR99",
+ "instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "3.2"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime Generic TPU@300HS.json b/resources/profiles/Tiertime/filament/Tiertime Generic TPU@300HS.json
new file mode 100644
index 0000000000..4312f7c0ed
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime Generic TPU@300HS.json
@@ -0,0 +1,19 @@
+{
+ "type": "filament",
+ "name": "Tiertime Generic TPU@300HS",
+ "inherits": "fdm_filament_tpu",
+ "from": "system",
+ "filament_id": "GFU99_01",
+ "setting_id": "GFSR99",
+ "instantiation": "true",
+ "filament_max_volumetric_speed": [
+ "3.2"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif} \n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PA6-CF.json b/resources/profiles/Tiertime/filament/Tiertime PA6-CF.json
new file mode 100644
index 0000000000..46c3a2c8e9
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PA6-CF.json
@@ -0,0 +1,51 @@
+{
+ "type": "filament",
+ "name": "Tiertime PA6-CF",
+ "inherits": "fdm_filament_pa",
+ "from": "system",
+ "filament_id": "GFN05",
+ "instantiation": "true",
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "79.99"
+ ],
+ "filament_density": [
+ "1.10"
+ ],
+ "filament_flow_ratio": [
+ "0.96"
+ ],
+ "filament_type": [
+ "PA6-CF"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature": [
+ "275"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "275"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "temperature_vitrification": [
+ "170"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PA6-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PA6-CF@300HS.json
new file mode 100644
index 0000000000..6bd06c2c35
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PA6-CF@300HS.json
@@ -0,0 +1,51 @@
+{
+ "type": "filament",
+ "name": "Tiertime PA6-CF@300HS",
+ "inherits": "fdm_filament_pa",
+ "from": "system",
+ "filament_id": "GFN05_01",
+ "instantiation": "true",
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "79.99"
+ ],
+ "filament_density": [
+ "1.10"
+ ],
+ "filament_flow_ratio": [
+ "0.96"
+ ],
+ "filament_type": [
+ "PA6-CF"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature": [
+ "275"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "275"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "temperature_vitrification": [
+ "170"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PC.json b/resources/profiles/Tiertime/filament/Tiertime PC.json
new file mode 100644
index 0000000000..9b13fde1c1
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PC.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime PC",
+ "inherits": "fdm_filament_pc",
+ "from": "system",
+ "filament_id": "GFC00",
+ "instantiation": "true",
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "filament_cost": [
+ "39.99"
+ ],
+ "filament_flow_ratio": [
+ "0.94"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PC@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PC@300HS.json
new file mode 100644
index 0000000000..fa4a209c11
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PC@300HS.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime PC@300HS",
+ "inherits": "fdm_filament_pc",
+ "from": "system",
+ "filament_id": "GFC00_01",
+ "instantiation": "true",
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "filament_cost": [
+ "39.99"
+ ],
+ "filament_flow_ratio": [
+ "0.94"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PET-CF.json b/resources/profiles/Tiertime/filament/Tiertime PET-CF.json
new file mode 100644
index 0000000000..996ccf7666
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PET-CF.json
@@ -0,0 +1,96 @@
+{
+ "type": "filament",
+ "name": "Tiertime PET-CF",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFT01",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "80"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "80"
+ ],
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "84.99"
+ ],
+ "filament_density": [
+ "1.29"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "PET-CF"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "nozzle_temperature": [
+ "270"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "nozzle_temperature_range_high": [
+ "290"
+ ],
+ "nozzle_temperature_range_low": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ],
+ "temperature_vitrification": [
+ "185"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PET-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PET-CF@300HS.json
new file mode 100644
index 0000000000..6f264a99f3
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PET-CF@300HS.json
@@ -0,0 +1,96 @@
+{
+ "type": "filament",
+ "name": "Tiertime PET-CF@300HS",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFT01_01",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "80"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "80"
+ ],
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "84.99"
+ ],
+ "filament_density": [
+ "1.29"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "PET-CF"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "nozzle_temperature": [
+ "270"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "nozzle_temperature_range_high": [
+ "290"
+ ],
+ "nozzle_temperature_range_low": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ],
+ "temperature_vitrification": [
+ "185"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PETG.json b/resources/profiles/Tiertime/filament/Tiertime PETG.json
new file mode 100644
index 0000000000..521c631d60
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PETG.json
@@ -0,0 +1,84 @@
+{
+ "type": "filament",
+ "name": "Tiertime PETG",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFG00",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "24.99"
+ ],
+ "filament_density": [
+ "1.25"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "nozzle_temperature_range_low": [
+ "230"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_long_retractions_when_cut": [
+ "1"
+ ],
+ "filament_retraction_distances_when_cut": [
+ "18"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PETG@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PETG@300HS.json
new file mode 100644
index 0000000000..eb018ac60f
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PETG@300HS.json
@@ -0,0 +1,84 @@
+{
+ "type": "filament",
+ "name": "Tiertime PETG@300HS",
+ "inherits": "fdm_filament_pet",
+ "from": "system",
+ "filament_id": "GFG00_01",
+ "instantiation": "true",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "40"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "24.99"
+ ],
+ "filament_density": [
+ "1.25"
+ ],
+ "filament_flow_ratio": [
+ "0.95"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "nozzle_temperature_range_low": [
+ "230"
+ ],
+ "overhang_fan_speed": [
+ "90"
+ ],
+ "overhang_fan_threshold": [
+ "10%"
+ ],
+ "slow_down_layer_time": [
+ "12"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "filament_max_volumetric_speed": [
+ "13"
+ ],
+ "filament_long_retractions_when_cut": [
+ "1"
+ ],
+ "filament_retraction_distances_when_cut": [
+ "18"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PLA-CF.json b/resources/profiles/Tiertime/filament/Tiertime PLA-CF.json
new file mode 100644
index 0000000000..b737235b82
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PLA-CF.json
@@ -0,0 +1,60 @@
+{
+ "type": "filament",
+ "name": "Tiertime PLA-CF",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFA50",
+ "instantiation": "true",
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "cool_plate_temp": [
+ "45"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "45"
+ ],
+ "filament_cost": [
+ "34.99"
+ ],
+ "filament_density": [
+ "1.22"
+ ],
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_type": [
+ "PLA-CF"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "nozzle_temperature_range_low": [
+ "210"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "nozzle_temperature": [
+ "230"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PLA-CF@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PLA-CF@300HS.json
new file mode 100644
index 0000000000..2cdbdeb543
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PLA-CF@300HS.json
@@ -0,0 +1,60 @@
+{
+ "type": "filament",
+ "name": "Tiertime PLA-CF@300HS",
+ "inherits": "fdm_filament_pla",
+ "from": "system",
+ "filament_id": "GFA50_01",
+ "instantiation": "true",
+ "additional_cooling_fan_speed": [
+ "0"
+ ],
+ "cool_plate_temp": [
+ "45"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "45"
+ ],
+ "filament_cost": [
+ "34.99"
+ ],
+ "filament_density": [
+ "1.22"
+ ],
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_type": [
+ "PLA-CF"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "nozzle_temperature_range_low": [
+ "210"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "nozzle_temperature": [
+ "230"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\nM142 P1 R35 S40\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PLA.json b/resources/profiles/Tiertime/filament/Tiertime PLA.json
new file mode 100644
index 0000000000..04832b97e8
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PLA.json
@@ -0,0 +1,34 @@
+{
+ "type": "filament",
+ "filament_id": "GFA00",
+ "setting_id": "GFSA00",
+ "name": "Tiertime PLA",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pla",
+ "filament_cost": [
+ "24.99"
+ ],
+ "filament_density": [
+ "1.26"
+ ],
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_max_volumetric_speed": [
+ "21"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "filament_long_retractions_when_cut": [
+ "1"
+ ],
+ "filament_retraction_distances_when_cut": [
+ "18"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PLA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PLA@300HS.json
new file mode 100644
index 0000000000..9a7c593f0a
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PLA@300HS.json
@@ -0,0 +1,34 @@
+{
+ "type": "filament",
+ "filament_id": "GFA00_01",
+ "setting_id": "GFSA00",
+ "name": "Tiertime PLA@300HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_filament_pla",
+ "filament_cost": [
+ "24.99"
+ ],
+ "filament_density": [
+ "1.26"
+ ],
+ "filament_flow_ratio": [
+ "0.98"
+ ],
+ "filament_max_volumetric_speed": [
+ "21"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "filament_long_retractions_when_cut": [
+ "1"
+ ],
+ "filament_retraction_distances_when_cut": [
+ "18"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PVA.json b/resources/profiles/Tiertime/filament/Tiertime PVA.json
new file mode 100644
index 0000000000..e4d35758e1
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PVA.json
@@ -0,0 +1,42 @@
+{
+ "type": "filament",
+ "name": "Tiertime PVA",
+ "inherits": "fdm_filament_pva",
+ "from": "system",
+ "filament_id": "GFS04",
+ "instantiation": "true",
+ "filament_cost": [
+ "79.98"
+ ],
+ "filament_density": [
+ "1.27"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "nozzle_temperature_range_low": [
+ "210"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "nozzle_temperature": [
+ "240"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "240"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime PVA@300HS.json b/resources/profiles/Tiertime/filament/Tiertime PVA@300HS.json
new file mode 100644
index 0000000000..5608eab230
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime PVA@300HS.json
@@ -0,0 +1,42 @@
+{
+ "type": "filament",
+ "name": "Tiertime PVA@300HS",
+ "inherits": "fdm_filament_pva",
+ "from": "system",
+ "filament_id": "GFS04_01",
+ "instantiation": "true",
+ "filament_cost": [
+ "79.98"
+ ],
+ "filament_density": [
+ "1.27"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "nozzle_temperature_range_low": [
+ "210"
+ ],
+ "slow_down_layer_time": [
+ "7"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "nozzle_temperature": [
+ "240"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "240"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime TPU 95A.json b/resources/profiles/Tiertime/filament/Tiertime TPU 95A.json
new file mode 100644
index 0000000000..de12c063bb
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime TPU 95A.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime TPU 95A",
+ "inherits": "fdm_filament_tpu",
+ "from": "system",
+ "filament_id": "GFU01",
+ "instantiation": "true",
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "filament_density": [
+ "1.22"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "filament_cost": [
+ "41.99"
+ ],
+ "nozzle_temperature": [
+ "230"
+ ],
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle",
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/Tiertime TPU 95A@300HS.json b/resources/profiles/Tiertime/filament/Tiertime TPU 95A@300HS.json
new file mode 100644
index 0000000000..c09e7bbab5
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/Tiertime TPU 95A@300HS.json
@@ -0,0 +1,27 @@
+{
+ "type": "filament",
+ "name": "Tiertime TPU 95A@300HS",
+ "inherits": "fdm_filament_tpu",
+ "from": "system",
+ "filament_id": "GFU01_01",
+ "instantiation": "true",
+ "filament_vendor": [
+ "Tiertime Lab"
+ ],
+ "filament_density": [
+ "1.22"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "230"
+ ],
+ "filament_cost": [
+ "41.99"
+ ],
+ "nozzle_temperature": [
+ "230"
+ ],
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle",
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_abs.json b/resources/profiles/Tiertime/filament/fdm_filament_abs.json
new file mode 100644
index 0000000000..50dc3facf1
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_abs.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_abs",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "activate_air_filtration": [
+ "0"
+ ],
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "90"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "90"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_max_volumetric_speed": [
+ "28.6"
+ ],
+ "filament_type": [
+ "ABS"
+ ],
+ "hot_plate_temp": [
+ "90"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "nozzle_temperature": [
+ "270"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "nozzle_temperature_range_high": [
+ "280"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "3"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "textured_plate_temp": [
+ "90"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "90"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_asa.json b/resources/profiles/Tiertime/filament/fdm_filament_asa.json
new file mode 100644
index 0000000000..62d3faef09
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_asa.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_asa",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "activate_air_filtration": [
+ "0"
+ ],
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "90"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "90"
+ ],
+ "fan_cooling_layer_time": [
+ "35"
+ ],
+ "fan_max_speed": [
+ "80"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_max_volumetric_speed": [
+ "28.6"
+ ],
+ "filament_type": [
+ "ASA"
+ ],
+ "hot_plate_temp": [
+ "90"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "nozzle_temperature": [
+ "260"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "260"
+ ],
+ "nozzle_temperature_range_high": [
+ "280"
+ ],
+ "nozzle_temperature_range_low": [
+ "240"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "3"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "textured_plate_temp": [
+ "90"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "90"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_bvoh.json b/resources/profiles/Tiertime/filament/fdm_filament_bvoh.json
new file mode 100644
index 0000000000..6431a87bd2
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_bvoh.json
@@ -0,0 +1,85 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_bvoh",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "40"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "40"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "69.99"
+ ],
+ "filament_density": [
+ "1.13"
+ ],
+ "filament_is_support": [
+ "1"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "BVOH"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "nozzle_temperature_range_high": [
+ "240"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "45"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_common.json b/resources/profiles/Tiertime/filament/fdm_filament_common.json
new file mode 100644
index 0000000000..3fb3a8da5e
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_common.json
@@ -0,0 +1,166 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "activate_air_filtration": [
+ "0"
+ ],
+ "chamber_temperatures": [
+ "0"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "complete_print_exhaust_fan_speed": [
+ "70"
+ ],
+ "cool_plate_temp": [
+ "60"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "60"
+ ],
+ "during_print_exhaust_fan_speed": [
+ "70"
+ ],
+ "eng_plate_temp": [
+ "60"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "60"
+ ],
+ "fan_cooling_layer_time": [
+ "60"
+ ],
+ "fan_max_speed": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "35"
+ ],
+ "filament_cost": [
+ "0"
+ ],
+ "filament_density": [
+ "0"
+ ],
+ "filament_deretraction_speed": [
+ "nil"
+ ],
+ "filament_diameter": [
+ "1.75"
+ ],
+ "filament_flow_ratio": [
+ "1"
+ ],
+ "filament_is_support": [
+ "0"
+ ],
+ "filament_long_retractions_when_cut": [
+ "nil"
+ ],
+ "filament_max_volumetric_speed": [
+ "0"
+ ],
+ "filament_minimal_purge_on_wipe_tower": [
+ "15"
+ ],
+ "filament_retract_before_wipe": [
+ "nil"
+ ],
+ "filament_retract_restart_extra": [
+ "nil"
+ ],
+ "filament_retract_when_changing_layer": [
+ "nil"
+ ],
+ "filament_retraction_distances_when_cut": [
+ "nil"
+ ],
+ "filament_retraction_length": [
+ "nil"
+ ],
+ "filament_retraction_minimum_travel": [
+ "nil"
+ ],
+ "filament_retraction_speed": [
+ "nil"
+ ],
+ "filament_settings_id": [
+ ""
+ ],
+ "filament_soluble": [
+ "0"
+ ],
+ "filament_type": [
+ "PLA"
+ ],
+ "filament_vendor": [
+ "Generic"
+ ],
+ "filament_wipe": [
+ "nil"
+ ],
+ "filament_wipe_distance": [
+ "nil"
+ ],
+ "filament_z_hop": [
+ "nil"
+ ],
+ "filament_z_hop_types": [
+ "nil"
+ ],
+ "full_fan_speed_layer": [
+ "0"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "nozzle_temperature": [
+ "200"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "200"
+ ],
+ "overhang_fan_speed": [
+ "100"
+ ],
+ "overhang_fan_threshold": [
+ "95%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "required_nozzle_HRC": [
+ "3"
+ ],
+ "slow_down_for_layer_cooling": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "8"
+ ],
+ "slow_down_min_speed": [
+ "10"
+ ],
+ "temperature_vitrification": [
+ "100"
+ ],
+ "textured_plate_temp": [
+ "60"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "60"
+ ],
+ "compatible_printers": [],
+ "filament_start_gcode": [
+ "; Filament gcode\n;{if activate_air_filtration[current_extruder] && support_air_filtration}\n;M106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n;{endif}"
+ ],
+ "filament_end_gcode": [
+ "; filament end gcode \n;M106 P3 S0\n"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_eva.json b/resources/profiles/Tiertime/filament/fdm_filament_eva.json
new file mode 100644
index 0000000000..3ce2b1844e
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_eva.json
@@ -0,0 +1,10 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_eva",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "filament_type": [
+ "EVA"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_hips.json b/resources/profiles/Tiertime/filament/fdm_filament_hips.json
new file mode 100644
index 0000000000..50ee869f2c
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_hips.json
@@ -0,0 +1,79 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_hips",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "90"
+ ],
+ "hot_plate_temp": [
+ "90"
+ ],
+ "textured_plate_temp": [
+ "90"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "90"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "90"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "90"
+ ],
+ "fan_cooling_layer_time": [
+ "10"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "HIPS"
+ ],
+ "filament_density": [
+ "1.06"
+ ],
+ "filament_cost": [
+ "22.99"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "240"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "fan_min_speed": [
+ "0"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "overhang_fan_speed": [
+ "80"
+ ],
+ "nozzle_temperature": [
+ "240"
+ ],
+ "nozzle_temperature_range_low": [
+ "220"
+ ],
+ "nozzle_temperature_range_high": [
+ "270"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "6"
+ ],
+ "additional_cooling_fan_speed": [
+ "0"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pa.json b/resources/profiles/Tiertime/filament/fdm_filament_pa.json
new file mode 100644
index 0000000000..06ddafc639
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pa.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pa",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "100"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "4"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "fan_min_speed": [
+ "0"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "PA"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "nozzle_temperature": [
+ "290"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "290"
+ ],
+ "nozzle_temperature_range_high": [
+ "300"
+ ],
+ "nozzle_temperature_range_low": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "30"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "108"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pc.json b/resources/profiles/Tiertime/filament/fdm_filament_pc.json
new file mode 100644
index 0000000000..6ffb3ad9ff
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pc.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pc",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "110"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "110"
+ ],
+ "fan_cooling_layer_time": [
+ "30"
+ ],
+ "fan_max_speed": [
+ "60"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.04"
+ ],
+ "filament_max_volumetric_speed": [
+ "18"
+ ],
+ "filament_type": [
+ "PC"
+ ],
+ "hot_plate_temp": [
+ "110"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "110"
+ ],
+ "nozzle_temperature": [
+ "280"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "270"
+ ],
+ "nozzle_temperature_range_high": [
+ "290"
+ ],
+ "nozzle_temperature_range_low": [
+ "260"
+ ],
+ "overhang_fan_speed": [
+ "60"
+ ],
+ "overhang_fan_threshold": [
+ "25%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "120"
+ ],
+ "textured_plate_temp": [
+ "110"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "110"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pctg.json b/resources/profiles/Tiertime/filament/fdm_filament_pctg.json
new file mode 100644
index 0000000000..70b72a506b
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pctg.json
@@ -0,0 +1,64 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pctg",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_cost": [
+ "30"
+ ],
+ "filament_density": [
+ "1.27"
+ ],
+ "filament_max_volumetric_speed": [
+ "25"
+ ],
+ "filament_type": [
+ "PCTG"
+ ],
+ "hot_plate_temp": [
+ "80"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "255"
+ ],
+ "nozzle_temperature_range_high": [
+ "260"
+ ],
+ "nozzle_temperature_range_low": [
+ "220"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "80"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "80"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pe.json b/resources/profiles/Tiertime/filament/fdm_filament_pe.json
new file mode 100644
index 0000000000..5c18673ae8
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pe.json
@@ -0,0 +1,85 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pe",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "35"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "35"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_type": [
+ "PE"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "nozzle_temperature_range_high": [
+ "240"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "45"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pet.json b/resources/profiles/Tiertime/filament/fdm_filament_pet.json
new file mode 100644
index 0000000000..d563dd7cc4
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pet.json
@@ -0,0 +1,64 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pet",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "20"
+ ],
+ "fan_min_speed": [
+ "20"
+ ],
+ "filament_cost": [
+ "30"
+ ],
+ "filament_density": [
+ "1.27"
+ ],
+ "filament_max_volumetric_speed": [
+ "25"
+ ],
+ "filament_type": [
+ "PETG"
+ ],
+ "hot_plate_temp": [
+ "80"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "80"
+ ],
+ "nozzle_temperature": [
+ "255"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "255"
+ ],
+ "nozzle_temperature_range_high": [
+ "260"
+ ],
+ "nozzle_temperature_range_low": [
+ "220"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "80"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "80"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pha.json b/resources/profiles/Tiertime/filament/fdm_filament_pha.json
new file mode 100644
index 0000000000..a51be2dcf7
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pha.json
@@ -0,0 +1,85 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pha",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "35"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "35"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "27.99"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_max_volumetric_speed": [
+ "6"
+ ],
+ "filament_type": [
+ "PHA"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "nozzle_temperature_range_high": [
+ "240"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "120"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pla.json b/resources/profiles/Tiertime/filament/fdm_filament_pla.json
new file mode 100644
index 0000000000..349acbdcc5
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pla.json
@@ -0,0 +1,82 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pla",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "cool_plate_temp": [
+ "35"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "hot_plate_temp": [
+ "60"
+ ],
+ "textured_plate_temp": [
+ "60"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "35"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "60"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "60"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "temperature_vitrification": [
+ "45"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "nozzle_temperature_range_high": [
+ "240"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n;{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n;{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n;{endif}\n\n;{if activate_air_filtration[current_extruder] && support_air_filtration}\n;M106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n;{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pp.json b/resources/profiles/Tiertime/filament/fdm_filament_pp.json
new file mode 100644
index 0000000000..cc4e584569
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pp.json
@@ -0,0 +1,85 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pp",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "35"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "35"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "34.99"
+ ],
+ "filament_density": [
+ "0.93"
+ ],
+ "filament_max_volumetric_speed": [
+ "12"
+ ],
+ "filament_type": [
+ "PP"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "235"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "235"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "nozzle_temperature_range_low": [
+ "220"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "110"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_ppa.json b/resources/profiles/Tiertime/filament/fdm_filament_ppa.json
new file mode 100644
index 0000000000..66598bbf97
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_ppa.json
@@ -0,0 +1,91 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_ppa",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "activate_air_filtration": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "100"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "100"
+ ],
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "30"
+ ],
+ "fan_min_speed": [
+ "10"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.17"
+ ],
+ "filament_flow_ratio": [
+ "0.96"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_type": [
+ "PPA-CF"
+ ],
+ "filament_vendor": [
+ "Bambu Lab"
+ ],
+ "hot_plate_temp": [
+ "100"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "100"
+ ],
+ "nozzle_temperature": [
+ "290"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "290"
+ ],
+ "nozzle_temperature_range_high": [
+ "320"
+ ],
+ "nozzle_temperature_range_low": [
+ "280"
+ ],
+ "overhang_fan_speed": [
+ "40"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "required_nozzle_HRC": [
+ "40"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "temperature_vitrification": [
+ "210"
+ ],
+ "textured_plate_temp": [
+ "100"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "100"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pps.json b/resources/profiles/Tiertime/filament/fdm_filament_pps.json
new file mode 100644
index 0000000000..881609b890
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pps.json
@@ -0,0 +1,79 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pps",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "chamber_temperatures": [
+ "60"
+ ],
+ "cool_plate_temp": [
+ "0"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "0"
+ ],
+ "eng_plate_temp": [
+ "110"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "110"
+ ],
+ "fan_cooling_layer_time": [
+ "5"
+ ],
+ "fan_max_speed": [
+ "50"
+ ],
+ "fan_min_speed": [
+ "0"
+ ],
+ "filament_density": [
+ "1.36"
+ ],
+ "filament_flow_ratio": [
+ "0.96"
+ ],
+ "filament_max_volumetric_speed": [
+ "4"
+ ],
+ "filament_type": [
+ "PPS"
+ ],
+ "hot_plate_temp": [
+ "110"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "110"
+ ],
+ "nozzle_temperature": [
+ "320"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "320"
+ ],
+ "nozzle_temperature_range_high": [
+ "340"
+ ],
+ "nozzle_temperature_range_low": [
+ "300"
+ ],
+ "overhang_fan_speed": [
+ "30"
+ ],
+ "overhang_fan_threshold": [
+ "0%"
+ ],
+ "slow_down_layer_time": [
+ "2"
+ ],
+ "temperature_vitrification": [
+ "125"
+ ],
+ "textured_plate_temp": [
+ "110"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "110"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_pva.json b/resources/profiles/Tiertime/filament/fdm_filament_pva.json
new file mode 100644
index 0000000000..4ef2acf185
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_pva.json
@@ -0,0 +1,91 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_pva",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "45"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "45"
+ ],
+ "eng_plate_temp": [
+ "0"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "0"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_is_support": [
+ "1"
+ ],
+ "filament_max_volumetric_speed": [
+ "15"
+ ],
+ "filament_soluble": [
+ "1"
+ ],
+ "filament_type": [
+ "PVA"
+ ],
+ "hot_plate_temp": [
+ "55"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "55"
+ ],
+ "nozzle_temperature": [
+ "220"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "220"
+ ],
+ "nozzle_temperature_range_high": [
+ "240"
+ ],
+ "nozzle_temperature_range_low": [
+ "190"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "slow_down_min_speed": [
+ "50"
+ ],
+ "temperature_vitrification": [
+ "45"
+ ],
+ "textured_plate_temp": [
+ "55"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "55"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_sbs.json b/resources/profiles/Tiertime/filament/fdm_filament_sbs.json
new file mode 100644
index 0000000000..5f9bdb4d2f
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_sbs.json
@@ -0,0 +1,85 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_sbs",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "filament_max_volumetric_speed": [
+ "23"
+ ],
+ "filament_type": [
+ "SBS"
+ ],
+ "filament_density": [
+ "1.02"
+ ],
+ "filament_cost": [
+ "15"
+ ],
+ "cool_plate_temp": [
+ "70"
+ ],
+ "eng_plate_temp": [
+ "70"
+ ],
+ "hot_plate_temp": [
+ "70"
+ ],
+ "textured_plate_temp": [
+ "70"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "70"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "70"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "70"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "70"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "235"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "0"
+ ],
+ "fan_min_speed": [
+ "0"
+ ],
+ "overhang_fan_threshold": [
+ "50%"
+ ],
+ "close_fan_the_first_x_layers": [
+ "3"
+ ],
+ "nozzle_temperature": [
+ "235"
+ ],
+ "temperature_vitrification": [
+ "70"
+ ],
+ "nozzle_temperature_range_low": [
+ "215"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "slow_down_min_speed": [
+ "20"
+ ],
+ "slow_down_layer_time": [
+ "4"
+ ],
+ "additional_cooling_fan_speed": [
+ "40"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/filament/fdm_filament_tpu.json b/resources/profiles/Tiertime/filament/fdm_filament_tpu.json
new file mode 100644
index 0000000000..1914ac3029
--- /dev/null
+++ b/resources/profiles/Tiertime/filament/fdm_filament_tpu.json
@@ -0,0 +1,79 @@
+{
+ "type": "filament",
+ "name": "fdm_filament_tpu",
+ "inherits": "fdm_filament_common",
+ "from": "system",
+ "instantiation": "false",
+ "additional_cooling_fan_speed": [
+ "70"
+ ],
+ "close_fan_the_first_x_layers": [
+ "1"
+ ],
+ "cool_plate_temp": [
+ "30"
+ ],
+ "cool_plate_temp_initial_layer": [
+ "30"
+ ],
+ "eng_plate_temp": [
+ "30"
+ ],
+ "eng_plate_temp_initial_layer": [
+ "30"
+ ],
+ "fan_cooling_layer_time": [
+ "100"
+ ],
+ "fan_min_speed": [
+ "100"
+ ],
+ "filament_cost": [
+ "20"
+ ],
+ "filament_density": [
+ "1.24"
+ ],
+ "filament_max_volumetric_speed": [
+ "8"
+ ],
+ "filament_retraction_length": [
+ "2.0"
+ ],
+ "filament_type": [
+ "TPU"
+ ],
+ "hot_plate_temp": [
+ "35"
+ ],
+ "hot_plate_temp_initial_layer": [
+ "35"
+ ],
+ "nozzle_temperature": [
+ "240"
+ ],
+ "nozzle_temperature_initial_layer": [
+ "240"
+ ],
+ "nozzle_temperature_range_high": [
+ "250"
+ ],
+ "nozzle_temperature_range_low": [
+ "200"
+ ],
+ "reduce_fan_stop_start_freq": [
+ "1"
+ ],
+ "temperature_vitrification": [
+ "30"
+ ],
+ "textured_plate_temp": [
+ "35"
+ ],
+ "textured_plate_temp_initial_layer": [
+ "35"
+ ],
+ "filament_start_gcode": [
+ "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}"
+ ]
+}
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP300 HS 0.4 nozzle.json b/resources/profiles/Tiertime/machine/Tiertime UP300 HS 0.4 nozzle.json
new file mode 100644
index 0000000000..f719989ecf
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP300 HS 0.4 nozzle.json
@@ -0,0 +1,21 @@
+{
+ "type": "machine",
+ "setting_id": "GM001",
+ "name": "Tiertime UP300 HS 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_tiertime_common",
+ "printer_model": "Tiertime UP300 HS",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_variant": "0.4",
+ "printable_area": [
+ "0x0",
+ "207x0",
+ "207x255",
+ "0x255"
+ ],
+
+ "printable_height": "230"
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json b/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json
new file mode 100644
index 0000000000..0434ec601d
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP300 HS.json
@@ -0,0 +1,12 @@
+{
+ "type": "machine_model",
+ "name": "Tiertime UP300 HS",
+ "model_id": "my_tiertime_up300_01",
+ "nozzle_diameter": "0.4",
+ "machine_tech": "FFF",
+ "family": "Tiertime",
+ "bed_model": "",
+ "bed_texture": "",
+ "hotend_model": "",
+ "default_materials": "Tiertime ABS;Tiertime PLA"
+}
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP310 Pro 0.4 nozzle.json b/resources/profiles/Tiertime/machine/Tiertime UP310 Pro 0.4 nozzle.json
new file mode 100644
index 0000000000..9824250597
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP310 Pro 0.4 nozzle.json
@@ -0,0 +1,20 @@
+{
+ "type": "machine",
+ "setting_id": "GM001",
+ "name": "Tiertime UP310 Pro 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_tiertime_common",
+ "printer_model": "Tiertime UP310 Pro",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_variant": "0.4",
+ "printable_area": [
+ "0x0",
+ "300x0",
+ "300x300",
+ "0x300"
+ ],
+ "printable_height": "300"
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP310 Pro.json b/resources/profiles/Tiertime/machine/Tiertime UP310 Pro.json
new file mode 100644
index 0000000000..1f528a5619
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP310 Pro.json
@@ -0,0 +1,12 @@
+{
+ "type": "machine_model",
+ "name": "Tiertime UP310 Pro",
+ "model_id": "my_tiertime310_01",
+ "nozzle_diameter": "0.4",
+ "machine_tech": "FFF",
+ "family": "Tiertime",
+ "bed_model": "",
+ "bed_texture": "",
+ "hotend_model": "",
+ "default_materials": "Tiertime ABS;Tiertime PLA"
+}
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP400 Pro 0.4 nozzle.json b/resources/profiles/Tiertime/machine/Tiertime UP400 Pro 0.4 nozzle.json
new file mode 100644
index 0000000000..d64c6d7215
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP400 Pro 0.4 nozzle.json
@@ -0,0 +1,21 @@
+{
+ "type": "machine",
+ "setting_id": "GM001",
+ "name": "Tiertime UP400 Pro 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_tiertime_common",
+ "printer_model": "Tiertime UP400 Pro",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_variant": "0.4",
+ "printable_area": [
+ "0x0",
+ "400x0",
+ "400x350",
+ "0x350"
+ ],
+
+ "printable_height": "380"
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP400 Pro.json b/resources/profiles/Tiertime/machine/Tiertime UP400 Pro.json
new file mode 100644
index 0000000000..af1895146f
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP400 Pro.json
@@ -0,0 +1,12 @@
+{
+ "type": "machine_model",
+ "name": "Tiertime UP400 Pro",
+ "model_id": "my_tiertime_up400_01",
+ "nozzle_diameter": "0.4",
+ "machine_tech": "FFF",
+ "family": "Tiertime",
+ "bed_model": "",
+ "bed_texture": "",
+ "hotend_model": "",
+ "default_materials": "Tiertime ABS;Tiertime PLA"
+}
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP600 HS 0.4 nozzle.json b/resources/profiles/Tiertime/machine/Tiertime UP600 HS 0.4 nozzle.json
new file mode 100644
index 0000000000..a1444ca656
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP600 HS 0.4 nozzle.json
@@ -0,0 +1,21 @@
+{
+ "type": "machine",
+ "setting_id": "GM006",
+ "name": "Tiertime UP600 HS 0.4 nozzle",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_tiertime_common",
+ "printer_model": "Tiertime UP600 HS",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_variant": "0.4",
+ "printable_area": [
+ "0x0",
+ "500x0",
+ "500x400",
+ "0x400"
+ ],
+
+ "printable_height": "600"
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json b/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json
new file mode 100644
index 0000000000..47e613ce8e
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/Tiertime UP600 HS.json
@@ -0,0 +1,12 @@
+{
+ "type": "machine_model",
+ "name": "Tiertime UP600 HS",
+ "model_id": "my_tiertime_up600_01",
+ "nozzle_diameter": "0.4",
+ "machine_tech": "FFF",
+ "family": "Tiertime",
+ "bed_model": "",
+ "bed_texture": "",
+ "hotend_model": "",
+ "default_materials": "Tiertime ABS;Tiertime PLA"
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/machine/fdm_machine_common.json b/resources/profiles/Tiertime/machine/fdm_machine_common.json
new file mode 100644
index 0000000000..5785f57b19
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/fdm_machine_common.json
@@ -0,0 +1,119 @@
+{
+ "type": "machine",
+ "name": "fdm_machine_common",
+ "from": "system",
+ "instantiation": "false",
+ "printer_technology": "FFF",
+ "deretraction_speed": [
+ "40"
+ ],
+ "extruder_colour": [
+ "#FCE94F"
+ ],
+ "extruder_offset": [
+ "0x0"
+ ],
+ "gcode_flavor": "marlin",
+ "silent_mode": "0",
+ "machine_max_acceleration_e": [
+ "5000"
+ ],
+ "machine_max_acceleration_extruding": [
+ "10000"
+ ],
+ "machine_max_acceleration_retracting": [
+ "1000"
+ ],
+ "machine_max_acceleration_x": [
+ "10000"
+ ],
+ "machine_max_acceleration_y": [
+ "10000"
+ ],
+ "machine_max_acceleration_z": [
+ "500"
+ ],
+ "machine_max_speed_e": [
+ "60"
+ ],
+ "machine_max_speed_x": [
+ "500"
+ ],
+ "machine_max_speed_y": [
+ "500"
+ ],
+ "machine_max_speed_z": [
+ "10"
+ ],
+ "machine_max_jerk_e": [
+ "5"
+ ],
+ "machine_max_jerk_x": [
+ "8"
+ ],
+ "machine_max_jerk_y": [
+ "8"
+ ],
+ "machine_max_jerk_z": [
+ "0.4"
+ ],
+ "machine_min_extruding_rate": [
+ "0"
+ ],
+ "machine_min_travel_rate": [
+ "0"
+ ],
+ "max_layer_height": [
+ "0.32"
+ ],
+ "min_layer_height": [
+ "0.08"
+ ],
+ "printable_height": "250",
+ "extruder_clearance_radius": "65",
+ "extruder_clearance_height_to_rod": "36",
+ "extruder_clearance_height_to_lid": "140",
+ "nozzle_diameter": [
+ "0.4"
+ ],
+ "printer_settings_id": "",
+ "printer_variant": "0.4",
+ "retraction_minimum_travel": [
+ "2"
+ ],
+ "retract_before_wipe": [
+ "70%"
+ ],
+ "retract_when_changing_layer": [
+ "1"
+ ],
+ "retraction_length": [
+ "5"
+ ],
+ "retract_length_toolchange": [
+ "1"
+ ],
+ "z_hop": [
+ "0"
+ ],
+ "retract_restart_extra": [
+ "0"
+ ],
+ "retract_restart_extra_toolchange": [
+ "0"
+ ],
+ "retraction_speed": [
+ "60"
+ ],
+ "single_extruder_multi_material": "1",
+ "change_filament_gcode": "",
+ "wipe": [
+ "1"
+ ],
+ "default_print_profile": "",
+ "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up",
+ "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end",
+ "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
+ "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
+ "machine_pause_gcode": "M601"
+}
diff --git a/resources/profiles/Tiertime/machine/fdm_tiertime_common.json b/resources/profiles/Tiertime/machine/fdm_tiertime_common.json
new file mode 100644
index 0000000000..55f8ddc4d0
--- /dev/null
+++ b/resources/profiles/Tiertime/machine/fdm_tiertime_common.json
@@ -0,0 +1,60 @@
+{
+ "type": "machine",
+ "name": "fdm_tiertime_common",
+ "from": "system",
+ "instantiation": "false",
+ "inherits": "fdm_machine_common",
+ "gcode_flavor": "klipper",
+ "machine_max_acceleration_e": ["5000", "5000"],
+ "machine_max_acceleration_extruding": ["20000", "20000"],
+ "machine_max_acceleration_retracting": ["5000", "5000"],
+ "machine_max_acceleration_travel": ["20000", "20000"],
+ "machine_max_acceleration_x": ["20000", "20000"],
+ "machine_max_acceleration_y": ["20000", "20000"],
+ "machine_max_acceleration_z": ["500", "200"],
+ "machine_max_speed_e": ["25", "25"],
+ "machine_max_speed_x": ["500", "200"],
+ "machine_max_speed_y": ["500", "200"],
+ "machine_max_speed_z": ["12", "12"],
+ "machine_max_jerk_e": ["2.5", "2.5"],
+ "machine_max_jerk_x": ["9", "9"],
+ "machine_max_jerk_y": ["9", "9"],
+ "machine_max_jerk_z": ["0.2", "0.4"],
+ "machine_min_extruding_rate": ["0", "0"],
+ "machine_min_travel_rate": ["0", "0"],
+ "max_layer_height": ["0.32"],
+ "min_layer_height": ["0.08"],
+ "printable_height": "250",
+ "extruder_clearance_radius": "65",
+ "extruder_clearance_height_to_rod": "36",
+ "extruder_clearance_height_to_lid": "140",
+ "printer_settings_id": "",
+ "printer_technology": "FFF",
+ "printer_variant": "0.4",
+ "retraction_minimum_travel": ["1"],
+ "retract_before_wipe": ["70%"],
+ "retract_when_changing_layer": ["1"],
+ "retraction_length": ["0.8"],
+ "retract_length_toolchange": ["2"],
+ "z_hop": ["0.4"],
+ "retract_restart_extra": ["0"],
+ "retract_restart_extra_toolchange": ["0"],
+ "retraction_speed": ["30"],
+ "deretraction_speed": ["30"],
+ "z_hop_types": "Normal Lift",
+ "silent_mode": "0",
+ "single_extruder_multi_material": "1",
+ "change_filament_gcode": "",
+ "wipe": ["1"],
+ "default_filament_profile": [""],
+ "default_print_profile": "0.20mm Standard @Tiertime UP400 Pro",
+ "bed_exclude_area": ["0x0"],
+ "machine_start_gcode": ";M190 S[bed_temperature_initial_layer_single]\n;M109 S[nozzle_temperature_initial_layer]\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n",
+ "machine_end_gcode": "PRINT_END",
+ "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
+ "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
+ "machine_pause_gcode": "PAUSE",
+ "scan_first_layer": "0",
+ "nozzle_type": "undefine",
+ "auxiliary_fan": "0"
+}
diff --git a/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP300 HS.json b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP300 HS.json
new file mode 100644
index 0000000000..0b28527515
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP300 HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.12mm Fine @Tiertime UP300 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.12",
+ "bottom_shell_layers": "5",
+ "elefant_foot_compensation": "0.15",
+ "top_shell_layers": "5",
+ "top_shell_thickness": "0.6",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "20",
+ "support_top_z_distance": "0.12",
+ "support_bottom_z_distance": "0.12",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP310 Pro.json b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP310 Pro.json
new file mode 100644
index 0000000000..3010fb6621
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP310 Pro.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.12mm Fine @Tiertime UP310 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.12",
+ "bottom_shell_layers": "5",
+ "elefant_foot_compensation": "0.15",
+ "top_shell_layers": "5",
+ "top_shell_thickness": "0.6",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "250",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "20",
+ "support_top_z_distance": "0.12",
+ "support_bottom_z_distance": "0.12",
+ "compatible_printers": [
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP400 Pro.json b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP400 Pro.json
new file mode 100644
index 0000000000..7f816d75e1
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP400 Pro.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.12mm Fine @Tiertime UP400 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.12",
+ "bottom_shell_layers": "5",
+ "elefant_foot_compensation": "0.15",
+ "top_shell_layers": "5",
+ "top_shell_thickness": "0.6",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "250",
+ "internal_solid_infill_speed": "250",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "20",
+ "support_top_z_distance": "0.12",
+ "support_bottom_z_distance": "0.12",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP600 HS.json b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP600 HS.json
new file mode 100644
index 0000000000..648f276690
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.12mm Fine @Tiertime UP600 HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP026",
+ "name": "0.12mm Fine @Tiertime UP600 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.12",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "5",
+ "top_shell_layers": "8",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.12",
+ "support_bottom_z_distance": "0.12",
+ "compatible_printers": [
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP300 HS.json b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP300 HS.json
new file mode 100644
index 0000000000..d1cb291fe3
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP300 HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.16mm Optimal @Tiertime UP300 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.16",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "4",
+ "top_shell_layers": "6",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.16",
+ "support_bottom_z_distance": "0.16",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP310 Pro.json b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP310 Pro.json
new file mode 100644
index 0000000000..1ba9ce59de
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP310 Pro.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.16mm Optimal @Tiertime UP310 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.16",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "4",
+ "top_shell_layers": "6",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "250",
+ "internal_solid_infill_speed": "250",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.16",
+ "support_bottom_z_distance": "0.16",
+ "compatible_printers": [
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP400 Pro.json b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP400 Pro.json
new file mode 100644
index 0000000000..2ed7fee647
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP400 Pro.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.16mm Optimal @Tiertime UP400 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.16",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "4",
+ "top_shell_layers": "6",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "250",
+ "internal_solid_infill_speed": "250",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.16",
+ "support_bottom_z_distance": "0.16",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP600 HS.json b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP600 HS.json
new file mode 100644
index 0000000000..871a8026d0
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.16mm Optimal @Tiertime UP600 HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP025",
+ "name": "0.16mm Optimal @Tiertime UP600 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.16",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "4",
+ "top_shell_layers": "6",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.16",
+ "support_bottom_z_distance": "0.16",
+ "compatible_printers": [
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP300 HS.json b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP300 HS.json
new file mode 100644
index 0000000000..c0eda5e055
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP300 HS.json
@@ -0,0 +1,22 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.20mm Standard @Tiertime UP300 HS",
+ "from": "system",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "instantiation": "true",
+ "elefant_foot_compensation": "0.15",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "top_shell_layers": "5",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP310 Pro.json b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP310 Pro.json
new file mode 100644
index 0000000000..75b76f4af9
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP310 Pro.json
@@ -0,0 +1,22 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.20mm Standard @Tiertime UP310 Pro",
+ "from": "system",
+ "inherits": "fdm_process_tiertime_common",
+ "instantiation": "true",
+ "elefant_foot_compensation": "0.15",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "250",
+ "internal_solid_infill_speed": "250",
+ "gap_infill_speed": "150",
+ "top_shell_layers": "5",
+ "compatible_printers": [
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP400 Pro.json b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP400 Pro.json
new file mode 100644
index 0000000000..03983e92b6
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP400 Pro.json
@@ -0,0 +1,20 @@
+{
+ "type": "process",
+ "setting_id": "GP001",
+ "name": "0.20mm Standard @Tiertime UP400 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.2",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "250",
+ "internal_solid_infill_speed": "250",
+ "gap_infill_speed": "150",
+ "support_threshold_angle": "20",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP600 HS.json b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP600 HS.json
new file mode 100644
index 0000000000..6c91083e77
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.20mm Standard @Tiertime UP600 HS.json
@@ -0,0 +1,22 @@
+{
+ "type": "process",
+ "setting_id": "GP024",
+ "name": "0.20mm Standard @Tiertime UP600 HS",
+ "from": "system",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "instantiation": "true",
+ "elefant_foot_compensation": "0.15",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "top_shell_layers": "5",
+ "compatible_printers": [
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP300 HS.json b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP300 HS.json
new file mode 100644
index 0000000000..aff711e457
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP300 HS.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.24mm Draft @Tiertime UP300 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.24",
+ "elefant_foot_compensation": "0.15",
+ "top_surface_line_width": "0.45",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "support_threshold_angle": "35",
+ "top_shell_layers": "4",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP310 Pro.json b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP310 Pro.json
new file mode 100644
index 0000000000..e18ab49b6f
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP310 Pro.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.24mm Draft @Tiertime UP310 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.24",
+ "elefant_foot_compensation": "0.15",
+ "top_surface_line_width": "0.45",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "200",
+ "inner_wall_speed": "230",
+ "sparse_infill_speed": "230",
+ "internal_solid_infill_speed": "230",
+ "gap_infill_speed": "230",
+ "support_threshold_angle": "35",
+ "top_shell_layers": "4",
+ "compatible_printers": [
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP400 Pro.json b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP400 Pro.json
new file mode 100644
index 0000000000..b871e7fca2
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP400 Pro.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.24mm Draft @Tiertime UP400 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.24",
+ "elefant_foot_compensation": "0.15",
+ "top_surface_line_width": "0.45",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "200",
+ "inner_wall_speed": "230",
+ "sparse_infill_speed": "230",
+ "internal_solid_infill_speed": "230",
+ "gap_infill_speed": "230",
+ "support_threshold_angle": "35",
+ "top_shell_layers": "4",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP600 HS.json b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP600 HS.json
new file mode 100644
index 0000000000..42a539e1da
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.24mm Draft @Tiertime UP600 HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP027",
+ "name": "0.24mm Draft @Tiertime UP600 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.24",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "3",
+ "top_shell_layers": "4",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.24",
+ "support_bottom_z_distance": "0.24",
+ "compatible_printers": [
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP300 HS.json b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP300 HS.json
new file mode 100644
index 0000000000..55bf4aecd5
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP300 HS.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.28mm Extra Draft @Tiertime UP300 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.28",
+ "elefant_foot_compensation": "0.15",
+ "top_surface_line_width": "0.45",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "200",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "200",
+ "support_threshold_angle": "40",
+ "top_shell_layers": "4",
+ "compatible_printers": [
+ "Tiertime UP300 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP310 Pro.json b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP310 Pro.json
new file mode 100644
index 0000000000..e583827013
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP310 Pro.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.28mm Extra Draft @Tiertime UP310 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.28",
+ "elefant_foot_compensation": "0.15",
+ "top_surface_line_width": "0.45",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "200",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "200",
+ "support_threshold_angle": "40",
+ "top_shell_layers": "4",
+ "compatible_printers": [
+ "Tiertime UP310 Pro 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP400 Pro.json b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP400 Pro.json
new file mode 100644
index 0000000000..0d1f98665b
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP400 Pro.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "setting_id": "GP004",
+ "name": "0.28mm Extra Draft @Tiertime UP400 Pro",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_common",
+ "layer_height": "0.28",
+ "elefant_foot_compensation": "0.15",
+ "top_surface_line_width": "0.45",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "200",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "200",
+ "support_threshold_angle": "40",
+ "top_shell_layers": "4",
+ "compatible_printers": [
+ "Tiertime UP400 Pro 0.4 nozzle"
+ ]
+}
diff --git a/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP600 HS.json b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP600 HS.json
new file mode 100644
index 0000000000..a0bd17c20b
--- /dev/null
+++ b/resources/profiles/Tiertime/process/0.28mm Extra Draft @Tiertime UP600 HS.json
@@ -0,0 +1,30 @@
+{
+ "type": "process",
+ "setting_id": "GP028",
+ "name": "0.28mm Extra Draft @Tiertime UP600 HS",
+ "from": "system",
+ "instantiation": "true",
+ "inherits": "fdm_process_tiertime_HS_common",
+ "layer_height": "0.28",
+ "elefant_foot_compensation": "0.15",
+ "bottom_shell_layers": "3",
+ "top_shell_layers": "4",
+ "top_shell_thickness": "1.0",
+ "bridge_flow": "1",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "105",
+ "outer_wall_speed": "150",
+ "inner_wall_speed": "200",
+ "sparse_infill_speed": "200",
+ "internal_solid_infill_speed": "200",
+ "gap_infill_speed": "150",
+ "overhang_1_4_speed": "60",
+ "overhang_2_4_speed": "30",
+ "overhang_3_4_speed": "10",
+ "support_threshold_angle": "25",
+ "support_top_z_distance": "0.28",
+ "support_bottom_z_distance": "0.28",
+ "compatible_printers": [
+ "Tiertime UP600 HS 0.4 nozzle"
+ ]
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/fdm_process_common.json b/resources/profiles/Tiertime/process/fdm_process_common.json
new file mode 100644
index 0000000000..2d65f5f50e
--- /dev/null
+++ b/resources/profiles/Tiertime/process/fdm_process_common.json
@@ -0,0 +1,72 @@
+{
+ "type": "process",
+ "name": "fdm_process_common",
+ "from": "system",
+ "instantiation": "false",
+ "adaptive_layer_height": "0",
+ "reduce_crossing_wall": "0",
+ "bridge_flow": "0.95",
+ "bridge_speed": "50",
+ "brim_width": "5",
+ "print_sequence": "by layer",
+ "default_acceleration": "10000",
+ "bridge_no_support": "0",
+ "elefant_foot_compensation": "0.1",
+ "outer_wall_line_width": "0.42",
+ "outer_wall_speed": "120",
+ "inner_wall_speed": "160",
+ "line_width": "0.45",
+ "infill_direction": "45",
+ "sparse_infill_density": "15%",
+ "sparse_infill_pattern": "crosshatch",
+ "initial_layer_line_width": "0.42",
+ "initial_layer_print_height": "0.2",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "90",
+ "gap_infill_speed": "50",
+ "infill_combination": "0",
+ "sparse_infill_line_width": "0.45",
+ "infill_wall_overlap": "15%",
+ "sparse_infill_speed": "200",
+ "interface_shells": "0",
+ "detect_overhang_wall": "0",
+ "reduce_infill_retraction": "0",
+ "filename_format": "{input_filename_base}.gcode",
+ "wall_loops": "2",
+ "inner_wall_line_width": "0.45",
+ "print_settings_id": "",
+ "raft_layers": "0",
+ "seam_position": "nearest",
+ "skirt_distance": "2",
+ "skirt_height": "2",
+ "minimum_sparse_infill_area": "0",
+ "internal_solid_infill_line_width": "0.45",
+ "internal_solid_infill_speed": "180",
+ "spiral_mode": "0",
+ "standby_temperature_delta": "-5",
+ "enable_support": "0",
+ "support_filament": "0",
+ "support_line_width": "0.42",
+ "support_interface_filament": "0",
+ "support_on_build_plate_only": "0",
+ "support_top_z_distance": "0.15",
+ "support_interface_loop_pattern": "0",
+ "support_interface_top_layers": "2",
+ "support_interface_spacing": "0",
+ "support_interface_speed": "80",
+ "support_interface_pattern": "auto",
+ "support_base_pattern": "default",
+ "support_base_pattern_spacing": "2",
+ "support_speed": "200",
+ "support_threshold_angle": "40",
+ "support_object_xy_distance": "0.5",
+ "detect_thin_wall": "0",
+ "top_surface_line_width": "0.42",
+ "top_surface_speed": "120",
+ "travel_speed": "400",
+ "enable_prime_tower": "0",
+ "prime_tower_width": "60",
+ "xy_hole_compensation": "0",
+ "xy_contour_compensation": "0",
+ "compatible_printers": []
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/fdm_process_tiertime_HS_common.json b/resources/profiles/Tiertime/process/fdm_process_tiertime_HS_common.json
new file mode 100644
index 0000000000..d4d897efe0
--- /dev/null
+++ b/resources/profiles/Tiertime/process/fdm_process_tiertime_HS_common.json
@@ -0,0 +1,15 @@
+{
+ "type": "process",
+ "name": "fdm_process_tiertime_HS_common",
+ "inherits": "fdm_process_tiertime_common",
+ "from": "system",
+ "instantiation": "false",
+ "default_acceleration": "4000",
+ "travel_acceleration": "4000",
+ "outer_wall_acceleration": "2500",
+ "inner_wall_acceleration": "3000",
+ "initial_layer_acceleration": "500",
+ "top_surface_acceleration": "2000",
+ "travel_speed": "200",
+ "compatible_printers": []
+}
\ No newline at end of file
diff --git a/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json b/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json
new file mode 100644
index 0000000000..7c6a127287
--- /dev/null
+++ b/resources/profiles/Tiertime/process/fdm_process_tiertime_common.json
@@ -0,0 +1,80 @@
+{
+ "type": "process",
+ "name": "fdm_process_tiertime_common",
+ "inherits": "fdm_process_common",
+ "from": "system",
+ "instantiation": "false",
+ "max_travel_detour_distance": "0",
+ "bottom_surface_pattern": "monotonic",
+ "bottom_shell_layers": "3",
+ "bottom_shell_thickness": "0",
+ "bridge_speed": "50",
+ "brim_object_gap": "0.1",
+ "compatible_printers_condition": "",
+ "draft_shield": "disabled",
+ "elefant_foot_compensation": "0",
+ "enable_arc_fitting": "1",
+ "default_acceleration": "6000",
+ "travel_acceleration": "6000",
+ "outer_wall_acceleration": "3000",
+ "inner_wall_acceleration": "5000",
+ "top_surface_acceleration": "2000",
+ "initial_layer_acceleration": "500",
+ "wall_infill_order": "inner wall/outer wall/infill",
+ "line_width": "0.42",
+ "internal_bridge_support_thickness": "0.8",
+ "initial_layer_line_width": "0.5",
+ "initial_layer_speed": "50",
+ "initial_layer_infill_speed": "90",
+ "outer_wall_speed": "120",
+ "inner_wall_speed": "160",
+ "gap_infill_speed": "50",
+ "sparse_infill_speed": "250",
+ "ironing_flow": "10%",
+ "ironing_spacing": "0.15",
+ "ironing_speed": "30",
+ "ironing_type": "no ironing",
+ "layer_height": "0.2",
+ "reduce_infill_retraction": "1",
+ "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode",
+ "detect_overhang_wall": "1",
+ "overhang_1_4_speed": "0",
+ "overhang_2_4_speed": "50",
+ "overhang_3_4_speed": "30",
+ "overhang_4_4_speed": "10",
+ "only_one_wall_top": "1",
+ "seam_position": "aligned",
+ "skirt_height": "1",
+ "skirt_loops": "0",
+ "minimum_sparse_infill_area": "15",
+ "internal_solid_infill_line_width": "0.42",
+ "internal_solid_infill_speed": "180",
+ "resolution": "0.012",
+ "support_type": "normal(auto)",
+ "support_style": "default",
+ "support_top_z_distance": "0.2",
+ "support_bottom_z_distance": "0.2",
+ "support_interface_bottom_layers": "2",
+ "support_interface_spacing": "0.5",
+ "support_expansion": "0",
+ "support_base_pattern_spacing": "2.5",
+ "support_speed": "200",
+ "support_interface_speed": "80",
+ "support_threshold_angle": "30",
+ "support_object_xy_distance": "0.35",
+ "tree_support_branch_diameter": "2",
+ "tree_support_branch_angle": "45",
+ "tree_support_wall_count": "0",
+ "top_surface_pattern": "monotonicline",
+ "top_surface_speed": "200",
+ "top_shell_layers": "3",
+ "top_shell_thickness": "0.8",
+ "travel_speed": "500",
+ "enable_prime_tower": "1",
+ "wipe_tower_no_sparse_layers": "0",
+ "prime_tower_width": "35",
+ "wall_generator": "classic",
+ "exclude_object": "1",
+ "wall_infill_order": "outer wall/inner wall/infill",
+ "compatible_printers": []
+}
\ No newline at end of file
diff --git a/resources/profiles/Tronxy/Tronxy X5SA 400 Marlin Firmware_cover.png b/resources/profiles/Tronxy/Tronxy X5SA 400 Marlin Firmware_cover.png
index a3d849d0ad..00ab333604 100644
Binary files a/resources/profiles/Tronxy/Tronxy X5SA 400 Marlin Firmware_cover.png and b/resources/profiles/Tronxy/Tronxy X5SA 400 Marlin Firmware_cover.png differ
diff --git a/resources/profiles/TwoTrees/TwoTrees SK1_cover.png b/resources/profiles/TwoTrees/TwoTrees SK1_cover.png
index 96be3438ce..bff6320c9a 100644
Binary files a/resources/profiles/TwoTrees/TwoTrees SK1_cover.png and b/resources/profiles/TwoTrees/TwoTrees SK1_cover.png differ
diff --git a/resources/profiles/TwoTrees/TwoTrees SP-5 Klipper_cover.png b/resources/profiles/TwoTrees/TwoTrees SP-5 Klipper_cover.png
index cd860b6427..bdd4814288 100644
Binary files a/resources/profiles/TwoTrees/TwoTrees SP-5 Klipper_cover.png and b/resources/profiles/TwoTrees/TwoTrees SP-5 Klipper_cover.png differ
diff --git a/resources/profiles/Voron/Voron 2.4 350_cover.png b/resources/profiles/Voron/Voron 2.4 350_cover.png
index a3fd2d3f38..995b717329 100644
Binary files a/resources/profiles/Voron/Voron 2.4 350_cover.png and b/resources/profiles/Voron/Voron 2.4 350_cover.png differ
diff --git a/resources/profiles/Voron/Voron Switchwire 250_cover.png b/resources/profiles/Voron/Voron Switchwire 250_cover.png
index 0ea13585ae..8c528251f7 100644
Binary files a/resources/profiles/Voron/Voron Switchwire 250_cover.png and b/resources/profiles/Voron/Voron Switchwire 250_cover.png differ
diff --git a/resources/profiles/Voron/machine/Voron 2.4 300 0.15 nozzle.json b/resources/profiles/Voron/machine/Voron 2.4 300 0.15 nozzle.json
index efa782dd5d..a824c9a36a 100644
--- a/resources/profiles/Voron/machine/Voron 2.4 300 0.15 nozzle.json
+++ b/resources/profiles/Voron/machine/Voron 2.4 300 0.15 nozzle.json
@@ -22,6 +22,6 @@
"300x300",
"0x300"
],
- "printable_height": "2755",
+ "printable_height": "275",
"printer_variant": "0.15"
-}
\ No newline at end of file
+}
diff --git a/resources/profiles/Voron/machine/Voron 2.4 300 0.2 nozzle.json b/resources/profiles/Voron/machine/Voron 2.4 300 0.2 nozzle.json
index ffd2ca597b..80d3ce8f75 100644
--- a/resources/profiles/Voron/machine/Voron 2.4 300 0.2 nozzle.json
+++ b/resources/profiles/Voron/machine/Voron 2.4 300 0.2 nozzle.json
@@ -22,6 +22,6 @@
"300x300",
"0x300"
],
- "printable_height": "2755",
+ "printable_height": "275",
"printer_variant": "0.2"
-}
\ No newline at end of file
+}
diff --git a/resources/profiles/Voron/machine/Voron 2.4 300 0.25 nozzle.json b/resources/profiles/Voron/machine/Voron 2.4 300 0.25 nozzle.json
index facfd9406f..187598c736 100644
--- a/resources/profiles/Voron/machine/Voron 2.4 300 0.25 nozzle.json
+++ b/resources/profiles/Voron/machine/Voron 2.4 300 0.25 nozzle.json
@@ -22,6 +22,6 @@
"300x300",
"0x300"
],
- "printable_height": "2755",
+ "printable_height": "275",
"printer_variant": "0.25"
-}
\ No newline at end of file
+}
diff --git a/resources/profiles/Wanhao/Wanhao D12-300_cover.png b/resources/profiles/Wanhao/Wanhao D12-300_cover.png
index a93dea778c..0020715ff8 100644
Binary files a/resources/profiles/Wanhao/Wanhao D12-300_cover.png and b/resources/profiles/Wanhao/Wanhao D12-300_cover.png differ
diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp
index 894de0549b..7ca0bceb97 100644
--- a/src/libslic3r/Format/3mf.cpp
+++ b/src/libslic3r/Format/3mf.cpp
@@ -2550,11 +2550,9 @@ ModelVolumeType type_from_string(const std::string &s)
stream << " <" << METADATA_TAG << " name=\"Copyright\">" << "" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"LicenseTerms\">" << "" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"Rating\">" << "" << METADATA_TAG << ">\n";
- std::string date = Slic3r::Utils::utc_timestamp(Slic3r::Utils::get_current_time_utc());
- // keep only the date part of the string
- date = date.substr(0, 10);
- stream << " <" << METADATA_TAG << " name=\"CreationDate\">" << date << "" << METADATA_TAG << ">\n";
- stream << " <" << METADATA_TAG << " name=\"ModificationDate\">" << date << "" << METADATA_TAG << ">\n";
+ // Orca: PRIVACY: do not store creation & modification date in 3mf
+ stream << " <" << METADATA_TAG << " name=\"CreationDate\">" << "" << METADATA_TAG << ">\n";
+ stream << " <" << METADATA_TAG << " name=\"ModificationDate\">" << "" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"Application\">" << SLIC3R_APP_KEY << "-" << SLIC3R_VERSION << "" << METADATA_TAG << ">\n";
stream << " <" << RESOURCES_TAG << ">\n";
std::string buf = stream.str();
diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp
index ca519db49b..00c588283d 100644
--- a/src/libslic3r/Format/bbs_3mf.cpp
+++ b/src/libslic3r/Format/bbs_3mf.cpp
@@ -6511,7 +6511,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
metadata_item_map[BBL_MODEL_NAME_TAG] = xml_escape(name);
metadata_item_map[BBL_ORIGIN_TAG] = xml_escape(origin);
metadata_item_map[BBL_DESIGNER_TAG] = xml_escape(user_name);
- metadata_item_map[BBL_DESIGNER_USER_ID_TAG] = user_id;
+ metadata_item_map[BBL_DESIGNER_USER_ID_TAG] = ""; // Orca: PRIVACY: do not store BBL user id in 3mf
metadata_item_map[BBL_DESIGNER_COVER_FILE_TAG] = xml_escape(design_cover);
metadata_item_map[BBL_DESCRIPTION_TAG] = xml_escape(description);
metadata_item_map[BBL_COPYRIGHT_NORMATIVE_TAG] = xml_escape(copyright);
@@ -6523,11 +6523,9 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
metadata_item_map[BBL_REGION_TAG] = region_code;
}
- std::string date = Slic3r::Utils::utc_timestamp(Slic3r::Utils::get_current_time_utc());
- // keep only the date part of the string
- date = date.substr(0, 10);
- metadata_item_map[BBL_CREATION_DATE_TAG] = date;
- metadata_item_map[BBL_MODIFICATION_TAG] = date;
+ // Orca: PRIVACY: do not store creation & modification date in 3mf
+ metadata_item_map[BBL_CREATION_DATE_TAG] = "";
+ metadata_item_map[BBL_MODIFICATION_TAG] = "";
//SoftFever: write BambuStudio tag to keep it compatible
metadata_item_map[BBL_APPLICATION_TAG] = (boost::format("%1%-%2%") % "BambuStudio" % SoftFever_VERSION).str();
}
diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
index d5e293989d..08b3ebac52 100644
--- a/src/libslic3r/GCode.cpp
+++ b/src/libslic3r/GCode.cpp
@@ -4122,6 +4122,10 @@ LayerResult GCode::process_layer(
// Extrude the skirt, brim, support, perimeters, infill ordered by the extruders.
for (unsigned int extruder_id : layer_tools.extruders)
{
+ if (print.config().skirt_type == stCombined && !print.skirt().empty())
+ gcode += generate_skirt(print, print.skirt(), Point(0, 0), layer.object()->config().skirt_start_angle, layer_tools, layer,
+ extruder_id);
+
std::string gcode_toolchange;
if (has_wipe_tower) {
if (!m_wipe_tower->is_empty_wipe_tower_gcode(*this, extruder_id, extruder_id == layer_tools.extruders.back())) {
@@ -4155,10 +4159,6 @@ LayerResult GCode::process_layer(
// let analyzer tag generator aware of a role type change
if (layer_tools.has_wipe_tower && m_wipe_tower)
m_last_processor_extrusion_role = erWipeTower;
-
- if (print.config().skirt_type == stCombined && !print.skirt().empty())
- gcode += generate_skirt(print, print.skirt(), Point(0, 0), layer.object()->config().skirt_start_angle, layer_tools, layer,
- extruder_id);
auto objects_by_extruder_it = by_extruder.find(extruder_id);
if (objects_by_extruder_it == by_extruder.end())
diff --git a/src/platform/osx/Info.plist.in b/src/platform/osx/Info.plist.in
index 629dc870fe..a2621d2521 100644
--- a/src/platform/osx/Info.plist.in
+++ b/src/platform/osx/Info.plist.in
@@ -33,7 +33,6 @@
orcasliceropenorcaslicer
- bambustudioopen
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index ec1fce8996..9bf82826f3 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -14,6 +14,8 @@ set(SLIC3R_GUI_SOURCES
GUI/Widgets/Button.hpp
GUI/Widgets/CheckBox.cpp
GUI/Widgets/CheckBox.hpp
+ GUI/Widgets/DialogButtons.cpp
+ GUI/Widgets/DialogButtons.hpp
GUI/Widgets/RadioBox.hpp
GUI/Widgets/RadioBox.cpp
GUI/Widgets/ProgressDialog.hpp
@@ -36,6 +38,8 @@ set(SLIC3R_GUI_SOURCES
GUI/Widgets/Scrollbar.hpp
GUI/Widgets/ScrolledWindow.cpp
GUI/Widgets/ScrolledWindow.hpp
+ GUI/Widgets/LabeledStaticBox.cpp
+ GUI/Widgets/LabeledStaticBox.hpp
GUI/Widgets/StaticBox.cpp
GUI/Widgets/StaticBox.hpp
GUI/Widgets/ImageSwitchButton.cpp
@@ -70,6 +74,8 @@ set(SLIC3R_GUI_SOURCES
GUI/Widgets/StepCtrl.hpp
GUI/Widgets/ProgressBar.cpp
GUI/Widgets/ProgressBar.hpp
+ GUI/Widgets/RadioGroup.cpp
+ GUI/Widgets/RadioGroup.hpp
GUI/Widgets/SideTools.cpp
GUI/Widgets/SideTools.hpp
GUI/Widgets/WebView.cpp
diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp
index ec7758483f..1105e60028 100644
--- a/src/slic3r/GUI/3DBed.cpp
+++ b/src/slic3r/GUI/3DBed.cpp
@@ -619,12 +619,6 @@ void Bed3D::update_model_offset()
shift(2) = -0.03;
Vec3d* model_offset_ptr = const_cast(&m_model_offset);
*model_offset_ptr = shift;
- //BBS: TODO: hack for current stl for BBL printer
- if (std::string::npos != m_model_filename.find("bbl-3dp-"))
- {
- (*model_offset_ptr)(0) -= m_bed_shape[2].x() / 2.0f;
- (*model_offset_ptr)(1) -= m_bed_shape[2].y() / 2.0f;
- }
(*model_offset_ptr)(2) = -0.41 + GROUND_Z;
// update extended bounding box
@@ -677,7 +671,7 @@ void Bed3D::render_model(const Transform3d& view_matrix, const Transform3d& proj
m_model.set_color(m_is_dark ? DEFAULT_MODEL_COLOR_DARK : DEFAULT_MODEL_COLOR);
update_model_offset();
-
+
// BBS: remove the bed picking logic
//register_raycasters_for_picking(m_model.model.get_geometry(), Geometry::assemble_transform(m_model_offset));
}
diff --git a/src/slic3r/GUI/Auxiliary.cpp b/src/slic3r/GUI/Auxiliary.cpp
index 779aed4951..5142701577 100644
--- a/src/slic3r/GUI/Auxiliary.cpp
+++ b/src/slic3r/GUI/Auxiliary.cpp
@@ -840,7 +840,7 @@ void AuxiliaryPanel::init_tabpanel()
std::pair(wxColour(0, 137, 123), StateColor::Pressed),
std::pair(wxColour(38, 166, 154), StateColor::Hovered),
std::pair(wxColour(0, 150, 136), StateColor::Normal));
- auto back_btn = new Button(this, _L("return"), "assemble_return", wxBORDER_NONE | wxBU_LEFT | wxBU_EXACTFIT);
+ auto back_btn = new Button(this, _L("Return"), "assemble_return", wxBORDER_NONE | wxBU_LEFT | wxBU_EXACTFIT);
back_btn->SetSize(wxSize(FromDIP(220), FromDIP(18)));
back_btn->SetBackgroundColor(btn_bg_green);
back_btn->SetTextColor(StateColor (std::pair(wxColour("#FDFFFD"), StateColor::Normal))); // ORCA fixes color change on text. icon stays white color but text changes to black without this
diff --git a/src/slic3r/GUI/BedShapeDialog.cpp b/src/slic3r/GUI/BedShapeDialog.cpp
index 207139d854..3ee1930d27 100644
--- a/src/slic3r/GUI/BedShapeDialog.cpp
+++ b/src/slic3r/GUI/BedShapeDialog.cpp
@@ -12,6 +12,9 @@
#include "libslic3r/Model.hpp"
#include "libslic3r/Polygon.hpp"
+#include "Widgets/LabeledStaticBox.hpp"
+#include "Widgets/DialogButtons.hpp"
+
#include
#include
@@ -143,7 +146,10 @@ void BedShapeDialog::build_dialog(const Pointfs& default_pt, const ConfigOptionS
auto main_sizer = new wxBoxSizer(wxVERTICAL);
main_sizer->Add(m_panel, 1, wxEXPAND);
- main_sizer->Add(CreateButtonSizer(wxOK | wxCANCEL), 0, wxALIGN_CENTER_HORIZONTAL | wxBOTTOM, 10);
+
+ auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
+
+ main_sizer->Add(dlg_btns, 0, wxEXPAND);
wxGetApp().UpdateDlgDarkUI(this);
@@ -184,9 +190,9 @@ void BedShapePanel::build_panel(const Pointfs& default_pt, const std::string& cu
m_custom_texture = custom_texture.empty() ? NONE : custom_texture;
m_custom_model = custom_model.empty() ? NONE : custom_model;
- auto sbsizer = new wxStaticBoxSizer(wxVERTICAL, this, _L("Shape"));
- sbsizer->GetStaticBox()->SetFont(wxGetApp().bold_font());
- wxGetApp().UpdateDarkUI(sbsizer->GetStaticBox());
+ // ORCA match style of wxStaticBox between platforms
+ LabeledStaticBox* stb = new LabeledStaticBox(this, _L("Shape"));
+ auto sbsizer = new wxStaticBoxSizer(stb, wxVERTICAL);
// shape options
m_shape_options_book = new wxSimplebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp
index c186ac518f..091d1c31a6 100644
--- a/src/slic3r/GUI/CreatePresetsDialog.cpp
+++ b/src/slic3r/GUI/CreatePresetsDialog.cpp
@@ -124,8 +124,8 @@ static const std::unordered_map> printer_m
{"Orca Arena Printer",{"Orca Arena X1 Carbon"}},
{"Peopoly", {"Peopoly Magneto X"}},
{"Positron 3D", {"The Positron"}},
- {"Prusa", {"MK4IS", "MINIIS", "MK3S", "MINI", "MK3.5",
- "Prusa XL", "Prusa XL 5T", "MK4S", "MK4S HF"}},
+ {"Prusa", {"Prusa CORE One", "Prusa CORE One HF", "MK4IS", "MK4S", "MK4S HF",
+ "Prusa XL", "Prusa XL 5T", "MK3.5", "MK3S", "MINI", "MINIIS"}},
{"Qidi", {"Qidi X-Plus 4", "Qidi Q1 Pro", "Qidi X-Max 3", "Qidi X-Plus 3", "Qidi X-Smart 3",
"Qidi X-Plus", "Qidi X-Max", "Qidi X-CF Pro"}},
{"Raise3D", {"Raise3D Pro3", "Raise3D Pro3 Plus"}},
@@ -684,7 +684,7 @@ CreateFilamentPresetDialog::CreateFilamentPresetDialog(wxWindow *parent)
m_scrolled_sizer->Add(0, 0, 0, wxTOP, FromDIP(5));
m_scrolled_preset_panel->SetSizerAndFit(m_scrolled_sizer);
m_main_sizer->Add(m_scrolled_preset_panel, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(10));
- m_main_sizer->Add(create_button_item(), 0, wxEXPAND | wxALL, FromDIP(10));
+ m_main_sizer->Add(create_dialog_buttons(), 0, wxEXPAND);
get_all_visible_printer_name();
select_curr_radiobox(m_create_type_btns, 0);
@@ -709,14 +709,6 @@ CreateFilamentPresetDialog::~CreateFilamentPresetDialog()
}
void CreateFilamentPresetDialog::on_dpi_changed(const wxRect &suggested_rect) {
-
- m_button_create->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetCornerRadius(FromDIP(12));
- m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetCornerRadius(FromDIP(12));
-
Layout();
}
@@ -1018,25 +1010,13 @@ wxBoxSizer *CreateFilamentPresetDialog::create_filament_preset_for_printer_item(
return vertical_sizer;
}
-wxBoxSizer *CreateFilamentPresetDialog::create_button_item()
+wxWindow *CreateFilamentPresetDialog::create_dialog_buttons()
{
- wxBoxSizer *bSizer_button = new wxBoxSizer(wxHORIZONTAL);
- bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
+ auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
-
- m_button_create = new Button(this, _L("Create"));
- m_button_create->SetBackgroundColor(btn_bg_green);
- m_button_create->SetBorderColor(*wxWHITE);
- m_button_create->SetTextColor(wxColour(0xFFFFFE));
- m_button_create->SetFont(Label::Body_12);
- m_button_create->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_create, 0, wxRIGHT, FromDIP(10));
-
- m_button_create->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
+ auto btn_ok = dlg_btns->GetOK();
+ btn_ok->SetLabel(_L("Create"));
+ btn_ok->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
//get vendor name
wxString vendor_str = m_filament_vendor_combobox->GetLabel();
std::string vendor_name;
@@ -1194,23 +1174,11 @@ wxBoxSizer *CreateFilamentPresetDialog::create_button_item()
EndModal(wxID_OK);
});
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
-
- m_button_cancel = new Button(this, _L("Cancel"));
- m_button_cancel->SetBackgroundColor(btn_bg_white);
- m_button_cancel->SetBorderColor(wxColour(38, 46, 48));
- m_button_cancel->SetFont(Label::Body_12);
- m_button_cancel->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_cancel, 0, wxRIGHT, FromDIP(10));
-
- m_button_cancel->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
+ dlg_btns->GetCANCEL()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
EndModal(wxID_CANCEL);
- });
+ });
- return bSizer_button;
+ return dlg_btns;
}
wxArrayString CreateFilamentPresetDialog::get_filament_preset_choices()
@@ -1598,7 +1566,7 @@ CreatePrinterPresetDialog::CreatePrinterPresetDialog(wxWindow *parent)
page_sizer->Add(m_page1, 1, wxEXPAND, 0);
page_sizer->Add(m_page2, 1, wxEXPAND, 0);
- m_main_sizer->Add(page_sizer, 0, wxEXPAND | wxRIGHT, FromDIP(10));
+ m_main_sizer->Add(page_sizer, 0, wxEXPAND | wxRIGHT | wxLEFT, FromDIP(5)); // ORCA use equal border for both sides
select_curr_radiobox(m_create_type_btns, 0);
select_curr_radiobox(m_create_presets_btns, 0);
@@ -1627,21 +1595,6 @@ CreatePrinterPresetDialog::~CreatePrinterPresetDialog()
}
void CreatePrinterPresetDialog::on_dpi_changed(const wxRect &suggested_rect) {
- m_button_OK->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_OK->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_OK->SetCornerRadius(FromDIP(12));
- m_button_create->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetCornerRadius(FromDIP(12));
- m_button_page1_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page1_cancel->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page1_cancel->SetCornerRadius(FromDIP(12));
- m_button_page2_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_cancel->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_cancel->SetCornerRadius(FromDIP(12));
- m_button_page2_back->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_back->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_back->SetCornerRadius(FromDIP(12));
Layout();
}
@@ -1702,7 +1655,7 @@ void CreatePrinterPresetDialog::create_printer_page1(wxWindow *parent)
m_printer_info_sizer->Add(create_max_print_height_item(m_printer_info_panel), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
m_printer_info_panel->SetSizer(m_printer_info_sizer);
m_page1_sizer->Add(m_printer_info_panel, 0, wxEXPAND, 0);
- m_page1_sizer->Add(create_page1_btns_item(parent), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
+ m_page1_sizer->Add(create_page1_dialog_buttons(parent), 0, wxEXPAND);
parent->SetSizerAndFit(m_page1_sizer);
Layout();
@@ -2067,45 +2020,19 @@ wxBoxSizer *CreatePrinterPresetDialog::create_max_print_height_item(wxWindow *pa
return horizontal_sizer;
}
-wxBoxSizer *CreatePrinterPresetDialog::create_page1_btns_item(wxWindow *parent)
+wxWindow *CreatePrinterPresetDialog::create_page1_dialog_buttons(wxWindow *parent)
{
- wxBoxSizer *bSizer_button = new wxBoxSizer(wxHORIZONTAL);
- bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
-
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
-
- m_button_OK = new Button(parent, _L("OK"));
- m_button_OK->SetBackgroundColor(btn_bg_green);
- m_button_OK->SetBorderColor(*wxWHITE);
- m_button_OK->SetTextColor(wxColour(0xFFFFFE));
- m_button_OK->SetFont(Label::Body_12);
- m_button_OK->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_OK->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_OK->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_OK, 0, wxRIGHT, FromDIP(10));
-
- m_button_OK->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
+ auto dlg_btns = new DialogButtons(parent, {"OK", "Cancel"});
+
+ dlg_btns->GetOK()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
if (!validate_input_valid()) return;
data_init();
show_page2();
- });
+ });
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
+ dlg_btns->GetCANCEL()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
- m_button_page1_cancel = new Button(parent, _L("Cancel"));
- m_button_page1_cancel->SetBackgroundColor(btn_bg_white);
- m_button_page1_cancel->SetBorderColor(wxColour(38, 46, 48));
- m_button_page1_cancel->SetFont(Label::Body_12);
- m_button_page1_cancel->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page1_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page1_cancel->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_page1_cancel, 0, wxRIGHT, FromDIP(10));
-
- m_button_page1_cancel->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
-
- return bSizer_button;
+ return dlg_btns;
}
static std::string last_directory = "";
void CreatePrinterPresetDialog::load_texture() {
@@ -2498,7 +2425,7 @@ void CreatePrinterPresetDialog::create_printer_page2(wxWindow *parent)
m_page2_sizer->Add(create_printer_preset_item(parent), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
m_page2_sizer->Add(create_presets_item(parent), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
m_page2_sizer->Add(create_presets_template_item(parent), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
- m_page2_sizer->Add(create_page2_btns_item(parent), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
+ m_page2_sizer->Add(create_page2_dialog_buttons(parent), 0, wxEXPAND);
parent->SetSizerAndFit(m_page2_sizer);
Layout();
@@ -2648,39 +2575,15 @@ wxBoxSizer *CreatePrinterPresetDialog::create_presets_template_item(wxWindow *pa
return vertical_sizer;
}
-wxBoxSizer *CreatePrinterPresetDialog::create_page2_btns_item(wxWindow *parent)
+wxWindow *CreatePrinterPresetDialog::create_page2_dialog_buttons(wxWindow *parent)
{
- wxBoxSizer *bSizer_button = new wxBoxSizer(wxHORIZONTAL);
- bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
+ auto dlg_btns = new DialogButtons(parent, {"Back", "OK", "Cancel"});
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
+ dlg_btns->GetBACK()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { show_page1(); });
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
-
- m_button_page2_back = new Button(parent, _L("Back Page 1"));
- m_button_page2_back->SetBackgroundColor(btn_bg_white);
- m_button_page2_back->SetBorderColor(wxColour(38, 46, 48));
- m_button_page2_back->SetFont(Label::Body_12);
- m_button_page2_back->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_back->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_back->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_page2_back, 0, wxRIGHT, FromDIP(10));
-
- m_button_page2_back->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { show_page1(); });
-
- m_button_create = new Button(parent, _L("Create"));
- m_button_create->SetBackgroundColor(btn_bg_green);
- m_button_create->SetBorderColor(*wxWHITE);
- m_button_create->SetTextColor(wxColour(0xFFFFFE));
- m_button_create->SetFont(Label::Body_12);
- m_button_create->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_create->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_create, 0, wxRIGHT, FromDIP(10));
-
- m_button_create->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
+ auto btn_ok = dlg_btns->GetOK();
+ btn_ok->SetLabel(_L("Create"));
+ btn_ok->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
PresetBundle *preset_bundle = wxGetApp().preset_bundle;
const wxString curr_selected_printer_type = curr_create_printer_type();
@@ -2925,18 +2828,9 @@ wxBoxSizer *CreatePrinterPresetDialog::create_page2_btns_item(wxWindow *parent)
});
- m_button_page2_cancel = new Button(parent, _L("Cancel"));
- m_button_page2_cancel->SetBackgroundColor(btn_bg_white);
- m_button_page2_cancel->SetBorderColor(wxColour(38, 46, 48));
- m_button_page2_cancel->SetFont(Label::Body_12);
- m_button_page2_cancel->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_page2_cancel->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_page2_cancel, 0, wxRIGHT, FromDIP(10));
+ dlg_btns->GetCANCEL()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
- m_button_page2_cancel->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
-
- return bSizer_button;
+ return dlg_btns;
}
void CreatePrinterPresetDialog::show_page1()
@@ -3374,52 +3268,27 @@ CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(wxWindow *parent, con
m_main_sizer->Add(horizontal_sizer, 0, wxALL, FromDIP(5));
- wxBoxSizer *btn_sizer = new wxBoxSizer(wxHORIZONTAL);
- btn_sizer->Add(0, 0, 1, wxEXPAND, 0);
- switch (create_success_type) {
- case PRINTER:
- m_button_ok = new Button(this, _L("Printer Setting"));
- break;
- case FILAMENT: m_button_ok = sync_user_preset_need_enabled ? new Button(this, _L("Sync user presets")) : new Button(this, _L("OK"));
- break;
- }
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
+ bool is_cancel_needed = PRINTER == create_success_type || sync_user_preset_need_enabled;
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
- m_button_ok->SetBackgroundColor(btn_bg_green);
- m_button_ok->SetBorderColor(wxColour(*wxWHITE));
- m_button_ok->SetTextColor(wxColour(*wxWHITE));
- m_button_ok->SetFont(Label::Body_12);
- m_button_ok->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetCornerRadius(FromDIP(12));
- btn_sizer->Add(m_button_ok, 0, wxRIGHT, FromDIP(10));
+ auto dlg_btns = new DialogButtons(this, is_cancel_needed ? std::vector{"OK", "Cancel"} : std::vector{"OK"});
- m_button_ok->Bind(wxEVT_LEFT_DOWN, [this, sync_user_preset_need_enabled](wxMouseEvent &e) {
+ if (create_success_type == PRINTER)
+ dlg_btns->GetOK()->SetLabel(_L("Printer Setting"));
+ else if (create_success_type == FILAMENT && sync_user_preset_need_enabled)
+ dlg_btns->GetOK()->SetLabel(_L("Sync user presets"));
+
+ dlg_btns->GetOK()->Bind(wxEVT_LEFT_DOWN, [this, sync_user_preset_need_enabled](wxMouseEvent &e) {
if (sync_user_preset_need_enabled) {
wxGetApp().app_config->set("sync_user_preset", "true");
wxGetApp().start_sync_user_preset();
}
EndModal(wxID_OK);
- });
+ });
- if (PRINTER == create_success_type || sync_user_preset_need_enabled) {
- m_button_cancel = new Button(this, _L("Cancel"));
- m_button_cancel->SetBackgroundColor(btn_bg_white);
- m_button_cancel->SetBorderColor(wxColour(38, 46, 48));
- m_button_cancel->SetTextColor(wxColour(38, 46, 48));
- m_button_cancel->SetFont(Label::Body_12);
- m_button_cancel->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetCornerRadius(FromDIP(12));
- btn_sizer->Add(m_button_cancel, 0, wxRIGHT, FromDIP(10));
- m_button_cancel->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
- }
+ if (is_cancel_needed)
+ dlg_btns->GetCANCEL()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
- m_main_sizer->Add(btn_sizer, 0, wxEXPAND | wxALL, FromDIP(15));
- m_main_sizer->Add(0, 0, 0, wxTOP, FromDIP(10));
+ m_main_sizer->Add(dlg_btns, 0, wxEXPAND);
SetSizer(m_main_sizer);
Layout();
@@ -3430,12 +3299,6 @@ CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(wxWindow *parent, con
CreatePresetSuccessfulDialog::~CreatePresetSuccessfulDialog() {}
void CreatePresetSuccessfulDialog::on_dpi_changed(const wxRect &suggested_rect) {
- m_button_ok->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetCornerRadius(FromDIP(12));
- m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetCornerRadius(FromDIP(12));
Layout();
}
@@ -3463,7 +3326,7 @@ ExportConfigsDialog::ExportConfigsDialog(wxWindow *parent)
m_main_sizer->Add(create_export_config_item(this), 0, wxEXPAND | wxALL, FromDIP(5));
m_main_sizer->Add(create_select_printer(this), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
- m_main_sizer->Add(create_button_item(this), 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM, FromDIP(5));
+ m_main_sizer->Add(create_dialog_buttons(this), 0, wxEXPAND);
data_init();
@@ -3517,12 +3380,6 @@ ExportConfigsDialog::~ExportConfigsDialog()
}
void ExportConfigsDialog::on_dpi_changed(const wxRect &suggested_rect) {
- m_button_ok->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetCornerRadius(FromDIP(12));
- m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetCornerRadius(FromDIP(12));
Layout();
}
@@ -4168,25 +4025,10 @@ ExportConfigsDialog::ExportCase ExportConfigsDialog::archive_process_preset_to_f
return ExportCase::EXPORT_SUCCESS;
}
-wxBoxSizer *ExportConfigsDialog::create_button_item(wxWindow* parent)
+wxWindow *ExportConfigsDialog::create_dialog_buttons(wxWindow* parent)
{
- wxBoxSizer *bSizer_button = new wxBoxSizer(wxHORIZONTAL);
- bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
-
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
-
- m_button_ok = new Button(this, _L("OK"));
- m_button_ok->SetBackgroundColor(btn_bg_green);
- m_button_ok->SetBorderColor(*wxWHITE);
- m_button_ok->SetTextColor(wxColour(0xFFFFFE));
- m_button_ok->SetFont(Label::Body_12);
- m_button_ok->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_ok->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_ok, 0, wxRIGHT, FromDIP(10));
-
- m_button_ok->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
+ auto dlg_btns = new DialogButtons(parent, {"OK", "Cancel"});
+ dlg_btns->GetOK()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
if (!has_check_box_selected()) {
MessageDialog dlg(this, _L("Please select at least one printer or filament."), wxString(SLIC3R_APP_FULL_NAME) + " - " + _L("Info"),
wxYES | wxYES_DEFAULT | wxCENTRE);
@@ -4223,21 +4065,9 @@ wxBoxSizer *ExportConfigsDialog::create_button_item(wxWindow* parent)
EndModal(wxID_OK);
});
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
+ dlg_btns->GetCANCEL()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
- m_button_cancel = new Button(this, _L("Cancel"));
- m_button_cancel->SetBackgroundColor(btn_bg_white);
- m_button_cancel->SetBorderColor(wxColour(38, 46, 48));
- m_button_cancel->SetFont(Label::Body_12);
- m_button_cancel->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_button_cancel->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_button_cancel, 0, wxRIGHT, FromDIP(10));
-
- m_button_cancel->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_CANCEL); });
-
- return bSizer_button;
+ return dlg_btns;
}
wxBoxSizer *ExportConfigsDialog::create_select_printer(wxWindow *parent)
@@ -4422,7 +4252,7 @@ EditFilamentPresetDialog::EditFilamentPresetDialog(wxWindow *parent, Filamentinf
m_note_text = new wxStaticText(this, wxID_ANY, _L("Note: If the only preset under this filament is deleted, the filament will be deleted after exiting the dialog."));
m_main_sizer->Add(m_note_text, 0, wxEXPAND | wxLEFT | wxRIGHT | wxBOTTOM | wxALIGN_CENTER_VERTICAL, FromDIP(10));
m_note_text->Hide();
- m_main_sizer->Add(create_button_sizer(), 0, wxEXPAND | wxALL, 0);
+ m_main_sizer->Add(create_dialog_buttons(), 0, wxEXPAND);
update_preset_tree();
@@ -4434,13 +4264,6 @@ EditFilamentPresetDialog::EditFilamentPresetDialog(wxWindow *parent, Filamentinf
EditFilamentPresetDialog::~EditFilamentPresetDialog() {}
void EditFilamentPresetDialog::on_dpi_changed(const wxRect &suggested_rect) {
- /*m_add_filament_btn->Rescale();
- m_del_filament_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_del_filament_btn->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_del_filament_btn->SetCornerRadius(FromDIP(12));
- m_ok_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetCornerRadius(FromDIP(12));*/
Layout();
}
@@ -4731,39 +4554,11 @@ wxBoxSizer *EditFilamentPresetDialog::create_preset_tree_sizer()
return filament_preset_tree_sizer;
}
-wxBoxSizer *EditFilamentPresetDialog::create_button_sizer()
+wxWindow *EditFilamentPresetDialog::create_dialog_buttons()
{
- wxBoxSizer *bSizer_button = new wxBoxSizer(wxHORIZONTAL);
+ auto dlg_btns = new DialogButtons(this, {"Delete", "OK"});
- m_del_filament_btn = new Button(this, _L("Delete Filament"));
- m_del_filament_btn->SetBackgroundColor(*wxRED);
- m_del_filament_btn->SetBorderColor(*wxWHITE);
- m_del_filament_btn->SetTextColor(wxColour(0xFFFFFE));
- m_del_filament_btn->SetFont(Label::Body_12);
- m_del_filament_btn->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_del_filament_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_del_filament_btn->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_del_filament_btn, 0, wxLEFT | wxBOTTOM, FromDIP(10));
-
- bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
-
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
-
- m_ok_btn = new Button(this, _L("OK"));
- m_ok_btn->SetBackgroundColor(btn_bg_green);
- m_ok_btn->SetBorderColor(*wxWHITE);
- m_ok_btn->SetTextColor(wxColour(0xFFFFFE));
- m_ok_btn->SetFont(Label::Body_12);
- m_ok_btn->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_ok_btn, 0, wxRIGHT | wxBOTTOM, FromDIP(10));
-
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
-
- m_del_filament_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent &e) {
+ dlg_btns->GetButtonFromID(wxID_DELETE)->Bind(wxEVT_BUTTON, ([this](wxCommandEvent &e) {
WarningDialog dlg(this, _L("All the filament presets belong to this filament would be deleted.\n"
"If you are using this filament on your printer, please reset the filament information for that slot."),
_L("Delete filament"), wxYES | wxCANCEL | wxCANCEL_DEFAULT | wxCENTRE);
@@ -4803,10 +4598,9 @@ wxBoxSizer *EditFilamentPresetDialog::create_button_sizer()
e.Skip();
}));
- m_ok_btn->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_OK); });
-
- return bSizer_button;
+ dlg_btns->GetOK()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_OK); });
+ return dlg_btns;
}
CreatePresetForPrinterDialog::CreatePresetForPrinterDialog(wxWindow *parent, std::string filament_type, std::string filament_id, std::string filament_vendor, std::string filament_name)
@@ -4837,7 +4631,7 @@ CreatePresetForPrinterDialog::CreatePresetForPrinterDialog(wxWindow *parent, std
main_sizer->Add(create_selected_printer_preset_sizer(), 0, wxALL, FromDIP(10));
main_sizer->Add(create_selected_filament_preset_sizer(), 0, wxALL, FromDIP(10));
- main_sizer->Add(create_button_sizer(), 0, wxEXPAND | wxALL, FromDIP(10));
+ main_sizer->Add(create_dialog_buttons(), 0, wxEXPAND);
this->SetSizer(main_sizer);
this->Layout();
@@ -4848,12 +4642,6 @@ CreatePresetForPrinterDialog::CreatePresetForPrinterDialog(wxWindow *parent, std
CreatePresetForPrinterDialog::~CreatePresetForPrinterDialog() {}
void CreatePresetForPrinterDialog::on_dpi_changed(const wxRect &suggested_rect) {
- m_ok_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetCornerRadius(FromDIP(12));
- m_cancel_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_cancel_btn->SetMaxSize(wxSize(FromDIP(58), FromDIP(24)));
- m_cancel_btn->SetCornerRadius(FromDIP(12));
Layout();
}
@@ -4943,38 +4731,10 @@ wxBoxSizer *CreatePresetForPrinterDialog::create_selected_filament_preset_sizer(
return select_filament_preset_sizer;
}
-wxBoxSizer *CreatePresetForPrinterDialog::create_button_sizer()
+wxWindow *CreatePresetForPrinterDialog::create_dialog_buttons()
{
- wxBoxSizer *bSizer_button = new wxBoxSizer(wxHORIZONTAL);
-
- bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
-
- StateColor btn_bg_green(std::pair(wxColour(0, 137, 123), StateColor::Pressed), std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal));
-
- m_ok_btn = new Button(this, _L("OK"));
- m_ok_btn->SetBackgroundColor(btn_bg_green);
- m_ok_btn->SetBorderColor(*wxWHITE);
- m_ok_btn->SetTextColor(wxColour(0xFFFFFE));
- m_ok_btn->SetFont(Label::Body_12);
- m_ok_btn->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_ok_btn->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_ok_btn, 0, wxRIGHT | wxBOTTOM, FromDIP(10));
-
- StateColor btn_bg_white(std::pair(wxColour(206, 206, 206), StateColor::Pressed), std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(*wxWHITE, StateColor::Normal));
-
- m_cancel_btn = new Button(this, _L("Cancel"));
- m_cancel_btn->SetBackgroundColor(btn_bg_white);
- m_cancel_btn->SetBorderColor(wxColour(38, 46, 48));
- m_cancel_btn->SetFont(Label::Body_12);
- m_cancel_btn->SetSize(wxSize(FromDIP(58), FromDIP(24)));
- m_cancel_btn->SetMinSize(wxSize(FromDIP(58), FromDIP(24)));
- m_cancel_btn->SetCornerRadius(FromDIP(12));
- bSizer_button->Add(m_cancel_btn, 0, wxRIGHT | wxBOTTOM, FromDIP(10));
-
- m_ok_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
+ auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
+ dlg_btns->GetOK()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
wxString selected_printer_name = m_selected_printer->GetStringSelection();
std::string printer_name = into_u8(selected_printer_name);
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " add preset: get compatible printer name:";
@@ -5015,10 +4775,12 @@ wxBoxSizer *CreatePresetForPrinterDialog::create_button_sizer()
}
EndModal(wxID_OK);
- });
- m_cancel_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { EndModal(wxID_CANCEL); });
-
- return bSizer_button;
+ });
+ dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
+ EndModal(wxID_CANCEL);
+ });
+
+ return dlg_btns;
}
PresetTree::PresetTree(EditFilamentPresetDialog * dialog)
diff --git a/src/slic3r/GUI/CreatePresetsDialog.hpp b/src/slic3r/GUI/CreatePresetsDialog.hpp
index 50cfe5df15..d4c5797f22 100644
--- a/src/slic3r/GUI/CreatePresetsDialog.hpp
+++ b/src/slic3r/GUI/CreatePresetsDialog.hpp
@@ -10,6 +10,7 @@
#include "Widgets/RadioBox.hpp"
#include "Widgets/CheckBox.hpp"
#include "Widgets/ComboBox.hpp"
+#include "Widgets/DialogButtons.hpp"
#include "miniz.h"
#include "ParamsDialog.hpp"
@@ -41,7 +42,7 @@ protected:
wxBoxSizer *create_serial_item();
wxBoxSizer *create_filament_preset_item();
wxBoxSizer *create_filament_preset_for_printer_item();
- wxBoxSizer *create_button_item();
+ wxWindow *create_dialog_buttons();
private:
void clear_filament_preset_map();
@@ -112,13 +113,13 @@ protected:
wxBoxSizer *create_hot_bed_stl_item(wxWindow *parent);
wxBoxSizer *create_hot_bed_svg_item(wxWindow *parent);
wxBoxSizer *create_max_print_height_item(wxWindow *parent);
- wxBoxSizer *create_page1_btns_item(wxWindow *parent);
+ wxWindow *create_page1_dialog_buttons(wxWindow *parent);
//Improt Presets Page2
void create_printer_page2(wxWindow *parent);
wxBoxSizer *create_printer_preset_item(wxWindow *parent);
wxBoxSizer *create_presets_item(wxWindow *parent);
wxBoxSizer *create_presets_template_item(wxWindow *parent);
- wxBoxSizer *create_page2_btns_item(wxWindow *parent);
+ wxWindow *create_page2_dialog_buttons(wxWindow *parent);
void show_page1();
void show_page2();
@@ -168,11 +169,6 @@ private:
Preset * m_printer_preset = nullptr;
wxStaticBitmap * m_step_1 = nullptr;
wxStaticBitmap * m_step_2 = nullptr;
- Button * m_button_OK = nullptr;
- Button * m_button_create = nullptr;
- Button * m_button_page1_cancel = nullptr;
- Button * m_button_page2_cancel = nullptr;
- Button * m_button_page2_back = nullptr;
Button * m_button_bed_stl = nullptr;
Button * m_button_bed_svg = nullptr;
wxScrolledWindow * m_page1 = nullptr;
@@ -224,9 +220,6 @@ public:
protected:
void on_dpi_changed(const wxRect &suggested_rect) override;
-private:
- Button *m_button_ok = nullptr;
- Button *m_button_cancel = nullptr;
};
class ExportConfigsDialog : public DPIDialog
@@ -267,7 +260,7 @@ private:
std::string initial_file_path(const wxString &path, const std::string &sub_file_path);
std::string initial_file_name(const wxString &path, const std::string file_name);
wxBoxSizer *create_export_config_item(wxWindow *parent);
- wxBoxSizer *create_button_item(wxWindow *parent);
+ wxWindow *create_dialog_buttons(wxWindow *parent);
wxBoxSizer *create_select_printer(wxWindow *parent);
wxBoxSizer *create_radio_item(wxString title, wxWindow *parent, wxString tooltip, std::vector> &radiobox_list);
int initial_zip_archive(mz_zip_archive &zip_archive, const std::string &file_path);
@@ -292,8 +285,6 @@ private:
wxScrolledWindow * m_scrolled_preset_window = nullptr;
wxGridSizer * m_preset_sizer = nullptr;
wxPanel * m_presets_window = nullptr;
- Button * m_button_ok = nullptr;
- Button * m_button_cancel = nullptr;
wxStaticText * m_serial_text = nullptr;
};
@@ -308,7 +299,7 @@ private:
void get_visible_printer_and_compatible_filament_presets();
wxBoxSizer *create_selected_printer_preset_sizer();
wxBoxSizer *create_selected_filament_preset_sizer();
- wxBoxSizer *create_button_sizer();
+ wxWindow *create_dialog_buttons();
private:
std::string m_filament_id;
@@ -318,11 +309,8 @@ private:
std::shared_ptr m_preset_bundle;
ComboBox * m_selected_printer = nullptr;
ComboBox * m_selected_filament = nullptr;
- Button * m_ok_btn = nullptr;
- Button * m_cancel_btn = nullptr;
std::unordered_map> filament_choice_to_filament_preset;
std::unordered_map>> m_printer_compatible_filament_presets; // need be used when add presets
-
};
class EditFilamentPresetDialog;
@@ -370,7 +358,7 @@ private:
wxBoxSizer *create_filament_basic_info();
wxBoxSizer *create_add_filament_btn();
wxBoxSizer *create_preset_tree_sizer();
- wxBoxSizer *create_button_sizer();
+ wxWindow *create_dialog_buttons();
private:
PresetTree * m_preset_tree_creater = nullptr;
@@ -380,8 +368,6 @@ private:
std::string m_filament_type;
std::string m_filament_serial;
Button * m_add_filament_btn = nullptr;
- Button * m_del_filament_btn = nullptr;
- Button * m_ok_btn = nullptr;
wxBoxSizer * m_preset_tree_sizer = nullptr;
wxPanel * m_preset_tree_panel = nullptr;
wxScrolledWindow * m_preset_tree_window = nullptr;
diff --git a/src/slic3r/GUI/EditGCodeDialog.cpp b/src/slic3r/GUI/EditGCodeDialog.cpp
index bc47cce4d9..c50b86d32a 100644
--- a/src/slic3r/GUI/EditGCodeDialog.cpp
+++ b/src/slic3r/GUI/EditGCodeDialog.cpp
@@ -20,6 +20,8 @@
#include "MsgDialog.hpp"
#include "Plater.hpp"
+#include "Widgets/DialogButtons.hpp"
+
#include "libslic3r/PlaceholderParser.hpp"
#include "libslic3r/Preset.hpp"
#include "libslic3r/Print.hpp"
@@ -98,10 +100,7 @@ EditGCodeDialog::EditGCodeDialog(wxWindow* parent, const std::string& key, const
m_param_description = new wxStaticText(this, wxID_ANY, wxEmptyString);
- //Orca: use custom buttons
- auto btn_sizer = create_btn_sizer(wxOK | wxCANCEL);
- for(auto btn : m_button_list)
- wxGetApp().UpdateDarkUI(btn.second);
+ auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL);
@@ -109,7 +108,7 @@ EditGCodeDialog::EditGCodeDialog(wxWindow* parent, const std::string& key, const
topSizer->Add(grid_sizer , 1, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, border);
topSizer->Add(m_param_label , 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, border);
topSizer->Add(m_param_description , 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, border);
- topSizer->Add(btn_sizer , 0, wxEXPAND | wxALL, border);
+ topSizer->Add(dlg_btns , 0, wxEXPAND);
SetSizer(topSizer);
topSizer->SetSizeHints(this);
@@ -417,20 +416,6 @@ void EditGCodeDialog::bind_list_and_button()
void EditGCodeDialog::on_dpi_changed(const wxRect&suggested_rect)
{
const int& em = em_unit();
-
- //Orca: use custom buttons
- for (auto button_item : m_button_list)
- {
- if (button_item.first == wxOK) {
- button_item.second->SetMinSize(BTN_SIZE);
- button_item.second->SetCornerRadius(FromDIP(12));
- }
- if (button_item.first == wxCANCEL) {
- button_item.second->SetMinSize(BTN_SIZE);
- button_item.second->SetCornerRadius(FromDIP(12));
- }
- }
-
const wxSize& size = wxSize(45 * em, 35 * em);
SetMinSize(size);
@@ -443,83 +428,6 @@ void EditGCodeDialog::on_sys_color_changed()
m_add_btn->msw_rescale();
}
-//Orca
-wxBoxSizer* EditGCodeDialog::create_btn_sizer(long flags)
-{
- auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
- btn_sizer->AddStretchSpacer();
-
- StateColor ok_btn_bg(
- std::pair(wxColour(0, 137, 123), StateColor::Pressed),
- std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal)
- );
-
- StateColor ok_btn_bd(
- std::pair(wxColour(0, 150, 136), StateColor::Normal)
- );
-
- StateColor ok_btn_text(
- std::pair(wxColour(255, 255, 254), StateColor::Normal)
- );
-
- StateColor cancel_btn_bg(
- std::pair(wxColour(206, 206, 206), StateColor::Pressed),
- std::pair(wxColour(238, 238, 238), StateColor::Hovered),
- std::pair(wxColour(255, 255, 255), StateColor::Normal)
- );
-
- StateColor cancel_btn_bd_(
- std::pair(wxColour(38, 46, 48), StateColor::Normal)
- );
-
- StateColor cancel_btn_text(
- std::pair(wxColour(38, 46, 48), StateColor::Normal)
- );
-
-
- StateColor calc_btn_bg(
- std::pair(wxColour(0, 137, 123), StateColor::Pressed),
- std::pair(wxColour(38, 166, 154), StateColor::Hovered),
- std::pair(wxColour(0, 150, 136), StateColor::Normal)
- );
-
- StateColor calc_btn_bd(
- std::pair(wxColour(0, 150, 136), StateColor::Normal)
- );
-
- StateColor calc_btn_text(
- std::pair(wxColour(255, 255, 254), StateColor::Normal)
- );
-
- if (flags & wxOK) {
- Button* ok_btn = new Button(this, _L("OK"));
- ok_btn->SetMinSize(BTN_SIZE);
- ok_btn->SetCornerRadius(FromDIP(12));
- ok_btn->SetBackgroundColor(ok_btn_bg);
- ok_btn->SetBorderColor(ok_btn_bd);
- ok_btn->SetTextColor(ok_btn_text);
- ok_btn->SetFocus();
- ok_btn->SetId(wxID_OK);
- btn_sizer->Add(ok_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, BTN_GAP);
- m_button_list[wxOK] = ok_btn;
- }
- if (flags & wxCANCEL) {
- Button* cancel_btn = new Button(this, _L("Cancel"));
- cancel_btn->SetMinSize(BTN_SIZE);
- cancel_btn->SetCornerRadius(FromDIP(12));
- cancel_btn->SetBackgroundColor(cancel_btn_bg);
- cancel_btn->SetBorderColor(cancel_btn_bd_);
- cancel_btn->SetTextColor(cancel_btn_text);
- cancel_btn->SetId(wxID_CANCEL);
- btn_sizer->Add(cancel_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, BTN_GAP / 2);
- m_button_list[wxCANCEL] = cancel_btn;
- }
-
- return btn_sizer;
-}
-
-
const std::map ParamsInfo {
// Type BitmapName
{ ParamType::Scalar, "custom-gcode_single" },
@@ -762,6 +670,7 @@ wxDataViewItem ParamsModel::Delete(const wxDataViewItem& item)
ParamsNode* node = static_cast(item.GetID());
if (!node) // happens if item.IsOk()==false
return ret_item;
+ const bool is_item_enabled = node->IsEnabled();
// first remove the node from the parent's array of children;
// NOTE: m_group_nodes is only a vector of _pointers_
@@ -792,8 +701,12 @@ wxDataViewItem ParamsModel::Delete(const wxDataViewItem& item)
ret_item = parent;
}
- // notify control
- ItemDeleted(parent, item);
+ // Orca: notify enabled item only, because disabled items have already been removed from UI,
+ // so attempt to notify it cases a crash.
+ if (is_item_enabled) {
+ // notify control
+ ItemDeleted(parent, item);
+ }
return ret_item;
}
diff --git a/src/slic3r/GUI/EditGCodeDialog.hpp b/src/slic3r/GUI/EditGCodeDialog.hpp
index 28cd5809f9..e6907acbf1 100644
--- a/src/slic3r/GUI/EditGCodeDialog.hpp
+++ b/src/slic3r/GUI/EditGCodeDialog.hpp
@@ -65,8 +65,6 @@ protected:
void on_sys_color_changed() override;
void selection_changed(wxDataViewEvent& evt);
-
- wxBoxSizer* create_btn_sizer(long flags);
};
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index 3e207b0d03..a1e7f55b9c 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -8252,7 +8252,7 @@ void GLCanvas3D::_render_return_toolbar() const
ImVec4 tint_col = ImVec4(1.0f, 1.0f, 1.0f, 1.0f);
ImVec2 margin = ImVec2(10.0f, 5.0f);
- if (ImGui::ImageTextButton(real_size,_utf8(L("return")).c_str(), m_return_toolbar.get_return_texture_id(), button_icon_size, uv0, uv1, -1, bg_col, tint_col, margin)) {
+ if (ImGui::ImageTextButton(real_size,_utf8(L("Return")).c_str(), m_return_toolbar.get_return_texture_id(), button_icon_size, uv0, uv1, -1, bg_col, tint_col, margin)) {
if (m_canvas != nullptr)
wxPostEvent(m_canvas, SimpleEvent(EVT_GLVIEWTOOLBAR_3D));
const_cast(&m_gizmos)->reset_all_states();
diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp
index dd38ebfac7..ab8b3583f5 100644
--- a/src/slic3r/GUI/GUI_ObjectList.cpp
+++ b/src/slic3r/GUI/GUI_ObjectList.cpp
@@ -118,7 +118,7 @@ public:
wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END
) override
{ // ORCA draw custom text to improve consistency between platforms
- dc.SetFont(Label::Body_13);
+ //dc.SetFont(win->GetFont()); Without SetFont it pulls font from window
dc.SetTextForeground(StateColor::darkModeColorFor(wxColour("#262E30"))); // use same color for selected / non-selected
dc.DrawText(text,wxPoint(rect.x, rect.y));
}
diff --git a/src/slic3r/GUI/GUI_Utils.hpp b/src/slic3r/GUI/GUI_Utils.hpp
index f6956001e8..6f4949adf3 100644
--- a/src/slic3r/GUI/GUI_Utils.hpp
+++ b/src/slic3r/GUI/GUI_Utils.hpp
@@ -18,6 +18,7 @@
#include
#include
#include
+#include
#include
@@ -496,6 +497,7 @@ int get_dpi_for_window(const wxWindow *window);
#ifdef __WXOSX__
void dataview_remove_insets(wxDataViewCtrl* dv);
+void staticbox_remove_margin(wxStaticBox* sb);
#endif
#if defined(__WXOSX__) || defined(__linux__)
diff --git a/src/slic3r/GUI/GUI_UtilsMac.mm b/src/slic3r/GUI/GUI_UtilsMac.mm
index 6e9605fbb6..01501f6265 100644
--- a/src/slic3r/GUI/GUI_UtilsMac.mm
+++ b/src/slic3r/GUI/GUI_UtilsMac.mm
@@ -15,6 +15,12 @@ void dataview_remove_insets(wxDataViewCtrl* dv) {
}
}
+void staticbox_remove_margin(wxStaticBox* sb) {
+ NSBox* nativeBox = (NSBox*)sb->GetHandle();
+ [nativeBox setBoxType:NSBoxCustom];
+ [nativeBox setBorderWidth:0];
+}
+
bool is_debugger_present()
// Returns true if the current process is being debugged (either
// running under the debugger or has a debugger attached post facto).
diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp
index 936afcacb9..43707019fb 100644
--- a/src/slic3r/GUI/OptionsGroup.cpp
+++ b/src/slic3r/GUI/OptionsGroup.cpp
@@ -7,6 +7,7 @@
#include "MsgDialog.hpp"
#include "format.hpp"
#include "Widgets/StaticLine.hpp"
+#include "Widgets/LabeledStaticBox.hpp"
#include
#include
@@ -470,14 +471,11 @@ bool OptionsGroup::activate(std::function throw_if_canceled/* = [](){}*/
try {
if (staticbox) {
- wxStaticBox * stb = new wxStaticBox(m_parent, wxID_ANY, _(title));
- if (!wxOSX) stb->SetBackgroundStyle(wxBG_STYLE_PAINT);
- stb->SetBackgroundColour(m_parent->GetBackgroundColour());
- stb->SetFont(wxOSX ? wxGetApp().normal_font() : wxGetApp().bold_font());
- wxGetApp().UpdateDarkUI(stb);
- // BBS: new layout
- sizer = new wxStaticBoxSizer(stb, wxVERTICAL);
+ // ORCA match style of wxStaticBox between platforms
+ LabeledStaticBox * stb = new LabeledStaticBox(m_parent, _(title));
+ //wxGetApp().UpdateDarkUI(stb);
this->stb = stb;
+ sizer = new wxStaticBoxSizer(stb, wxVERTICAL);
}
else {
// BBS: new layout
diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp
index ef4b91697b..5165730952 100644
--- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp
+++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp
@@ -19,6 +19,8 @@
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/PresetBundle.hpp"
+#include "Widgets/DialogButtons.hpp"
+
#include "GUI.hpp"
#include "GUI_App.hpp"
#include "MainFrame.hpp"
@@ -94,20 +96,17 @@ PhysicalPrinterDialog::PhysicalPrinterDialog(wxWindow* parent) :
m_optgroup = new ConfigOptionsGroup(this, _L("Print Host upload"), m_config);
build_printhost_settings(m_optgroup);
- wxStdDialogButtonSizer* btns = this->CreateStdDialogButtonSizer(wxOK | wxCANCEL);
- btnOK = static_cast(this->FindWindowById(wxID_OK, this));
- wxGetApp().UpdateDarkUI(btnOK);
- btnOK->Bind(wxEVT_BUTTON, &PhysicalPrinterDialog::OnOK, this);
+ auto dlg_btns = new DialogButtons(this, {"OK"});
- wxGetApp().UpdateDarkUI(static_cast(this->FindWindowById(wxID_CANCEL, this)));
- (static_cast(this->FindWindowById(wxID_CANCEL, this)))->Hide();
+ btnOK = dlg_btns->GetOK();
+ btnOK->Bind(wxEVT_BUTTON, &PhysicalPrinterDialog::OnOK, this);
wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL);
// topSizer->Add(label_top , 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, BORDER_W);
topSizer->Add(input_sizer , 0, wxEXPAND | wxALL, BORDER_W);
topSizer->Add(m_optgroup->sizer , 1, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, BORDER_W);
- topSizer->Add(btns , 0, wxEXPAND | wxALL, BORDER_W);
+ topSizer->Add(dlg_btns, 0, wxEXPAND);
Bind(wxEVT_CLOSE_WINDOW, [this](auto& e) {this->EndModal(wxID_NO);});
@@ -736,8 +735,6 @@ void PhysicalPrinterDialog::on_dpi_changed(const wxRect& suggested_rect)
m_optgroup->msw_rescale();
- msw_buttons_rescale(this, em, { wxID_OK, wxID_CANCEL });
-
const wxSize& size = wxSize(45 * em, 35 * em);
SetMinSize(size);
diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.hpp b/src/slic3r/GUI/PhysicalPrinterDialog.hpp
index 102e4635f6..08b017c862 100644
--- a/src/slic3r/GUI/PhysicalPrinterDialog.hpp
+++ b/src/slic3r/GUI/PhysicalPrinterDialog.hpp
@@ -38,7 +38,7 @@ class PhysicalPrinterDialog : public DPIDialog
RoundedRectangle* m_input_area {nullptr};
wxStaticText* m_valid_label {nullptr};
wxTextCtrl* m_input_ctrl {nullptr};
- wxButton* btnOK {nullptr};
+ Button* btnOK {nullptr};
void build_printhost_settings(ConfigOptionsGroup* optgroup);
void OnOK(wxEvent& event);
diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index 7655c52496..e566b15f00 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -2056,17 +2056,17 @@ void TabPrint::build()
optgroup->append_single_option_line("seam_position", "quality_settings_seam");
optgroup->append_single_option_line("staggered_inner_seams", "quality_settings_seam");
optgroup->append_single_option_line("seam_gap","quality_settings_seam");
- optgroup->append_single_option_line("seam_slope_type", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("seam_slope_conditional", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("scarf_angle_threshold", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("scarf_overhang_threshold", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("scarf_joint_speed", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("seam_slope_start_height", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("seam_slope_entire_loop", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("seam_slope_min_length", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("seam_slope_steps", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("scarf_joint_flow_ratio", "seam#scarf-joint-seam");
- optgroup->append_single_option_line("seam_slope_inner_walls", "seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_type", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_conditional", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("scarf_angle_threshold", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("scarf_overhang_threshold", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("scarf_joint_speed", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_start_height", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_entire_loop", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_min_length", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_steps", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("scarf_joint_flow_ratio", "quality_settings_seam#scarf-joint-seam");
+ optgroup->append_single_option_line("seam_slope_inner_walls", "quality_settings_seam#scarf-joint-seam");
optgroup->append_single_option_line("role_based_wipe_speed","quality_settings_seam");
optgroup->append_single_option_line("wipe_speed", "quality_settings_seam");
optgroup->append_single_option_line("wipe_on_loops","quality_settings_seam");
diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp
index a800919651..cec3d67631 100644
--- a/src/slic3r/GUI/WebViewDialog.cpp
+++ b/src/slic3r/GUI/WebViewDialog.cpp
@@ -552,6 +552,8 @@ void WebViewPanel::OnNavigationRequest(wxWebViewEvent& evt)
#ifdef _WIN32
if (file.StartsWith('/'))
file = file.Mid(1);
+ else
+ file = "//" + file; // When file from network location
#endif
wxGetApp().plater()->load_files(wxArrayString{1, &file});
evt.Veto();
diff --git a/src/slic3r/GUI/Widgets/DialogButtons.cpp b/src/slic3r/GUI/Widgets/DialogButtons.cpp
new file mode 100644
index 0000000000..5702f9930c
--- /dev/null
+++ b/src/slic3r/GUI/Widgets/DialogButtons.cpp
@@ -0,0 +1,247 @@
+#include "DialogButtons.hpp"
+
+#include "slic3r/GUI/I18N.hpp"
+
+namespace Slic3r { namespace GUI {
+
+// ORCA standardize dialog buttons
+DialogButtons::DialogButtons(wxWindow* parent, std::vector non_translated_labels, const wxString& primary_btn_translated_label)
+ : wxWindow(parent, wxID_ANY)
+{
+ m_parent = parent;
+ m_sizer = new wxBoxSizer(wxHORIZONTAL);
+ m_primary = primary_btn_translated_label;
+ m_alert = wxEmptyString;
+ SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#FFFFFF")));
+
+ // Add all to array
+ for (wxString label : non_translated_labels) {
+ Button* btn = new Button(this, _L(label));
+ wxString l = label;
+ l.LowerCase();
+ auto f = m_standardIDs.find(l);
+ if (f != m_standardIDs.end())
+ btn->SetId(f->second);
+ m_buttons.push_back(btn);
+ }
+
+ m_parent->Bind(wxEVT_DPI_CHANGED, &DialogButtons::on_dpi_changed, this);
+
+ SetSizer(m_sizer);
+
+ UpdateButtons();
+}
+
+DialogButtons::~DialogButtons() {
+ m_parent->Unbind(wxEVT_DPI_CHANGED, &DialogButtons::on_dpi_changed, this);
+}
+
+void DialogButtons::on_dpi_changed(wxDPIChangedEvent& event) {
+ UpdateButtons();
+ event.Skip();
+}
+
+Button* DialogButtons::GetButtonFromID(wxStandardID id) {
+ for (Button* btn : m_buttons)
+ if (btn->GetId() == id)
+ return btn;
+ return nullptr;
+}
+
+Button* DialogButtons::GetButtonFromLabel(wxString translated_label) {
+ for (Button* btn : m_buttons)
+ if (btn->GetLabel() == translated_label)
+ return btn;
+ return nullptr;
+}
+
+Button* DialogButtons::PickFromList(std::set ID_list) {
+ // Picks first button from given list
+ Button* b;
+ for (auto itr : ID_list) {
+ b = GetButtonFromID(itr);
+ if (b != nullptr)
+ return b;
+ }
+ return nullptr;
+}
+
+// shorthands for common buttons
+Button* DialogButtons::GetOK() {return GetButtonFromID(wxID_OK) ;}
+Button* DialogButtons::GetYES() {return GetButtonFromID(wxID_YES) ;}
+Button* DialogButtons::GetAPPLY() {return GetButtonFromID(wxID_APPLY) ;}
+Button* DialogButtons::GetCONFIRM(){return GetButtonFromID(wxID_APPLY) ;}
+Button* DialogButtons::GetNO() {return GetButtonFromID(wxID_NO) ;}
+Button* DialogButtons::GetCANCEL() {return GetButtonFromID(wxID_CANCEL) ;}
+Button* DialogButtons::GetBACK() {return GetButtonFromID(wxID_BACKWARD);}
+Button* DialogButtons::GetFORWARD(){return GetButtonFromID(wxID_FORWARD) ;}
+
+void DialogButtons::SetPrimaryButton(wxString translated_label) {
+ // use _L("Create") translated text for custom buttons
+ // use non existing button name to disable primary styled button
+ Button* btn;
+ if(translated_label.IsEmpty()){ // prefer standard primary buttons if label empty
+ if(m_buttons.size() == 1)
+ btn = m_buttons.front();
+ else
+ btn = PickFromList(m_primaryIDs);
+ }else
+ btn = GetButtonFromLabel(translated_label);
+
+ if(btn == nullptr) return;
+
+ m_primary = translated_label;
+
+ btn->SetFocus();
+ // we won't need color definations after button style management
+ StateColor clr_bg = StateColor(
+ std::pair(wxColour("#009688"), (int)StateColor::NotHovered),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Disabled),
+ std::pair(wxColour("#009688"), (int)StateColor::Pressed),
+ std::pair(wxColour("#26A69A"), (int)StateColor::Hovered),
+ std::pair(wxColour("#009688"), (int)StateColor::Normal),
+ std::pair(wxColour("#009688"), (int)StateColor::Enabled)
+ );
+ btn->SetBackgroundColor(clr_bg);
+ StateColor clr_br = StateColor(
+ std::pair(wxColour("#009688"), (int)StateColor::NotFocused),
+ std::pair(wxColour("#26A69A"), (int)StateColor::Focused)
+ );
+ btn->SetBorderColor(clr_br);
+ StateColor clr_tx = StateColor(
+ std::pair(wxColour("#6B6A6A"), (int)StateColor::Disabled),
+ std::pair(wxColour("#FEFEFE"), (int)StateColor::Hovered),
+ std::pair(wxColour("#FEFEFE"), (int)StateColor::Normal)
+ );
+ btn->SetTextColor(clr_tx);
+}
+
+void DialogButtons::SetAlertButton(wxString translated_label) {
+ // use _L("Create") translated text for custom buttons
+ // use non existing button name to disable alert styled button
+ if(m_buttons.size() == 1)
+ return;
+ Button* btn;
+ if(translated_label.IsEmpty()){ // prefer standard alert buttons if label empty
+ btn = PickFromList(m_alertIDs);
+ }else
+ btn = GetButtonFromLabel(translated_label);
+
+ if(btn == nullptr) return;
+
+ m_alert = translated_label;
+
+ // we won't need color definations after button style management
+ StateColor clr_bg = StateColor(
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::NotHovered),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Disabled),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Pressed),
+ std::pair(wxColour("#CD1F00"), (int)StateColor::Hovered),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Normal),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Enabled)
+ );
+ btn->SetBackgroundColor(clr_bg);
+ StateColor clr_br = StateColor(
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::NotFocused),
+ std::pair(wxColour("#26A69A"), (int)StateColor::Focused)
+ );
+ btn->SetBorderColor(clr_br);
+ StateColor clr_tx = StateColor(
+ std::pair(wxColour("#CD1F00"), (int)StateColor::NotHovered),
+ std::pair(wxColour("#6B6A6A"), (int)StateColor::Disabled),
+ std::pair(wxColour("#CD1F00"), (int)StateColor::Pressed),
+ std::pair(wxColour("#FFFFFD"), (int)StateColor::Hovered),
+ std::pair(wxColour("#CD1F00"), (int)StateColor::Focused),
+ std::pair(wxColour("#CD1F00"), (int)StateColor::Normal)
+ );
+ btn->SetTextColor(clr_tx);
+}
+
+void DialogButtons::UpdateButtons() {
+ m_sizer->Clear();
+ SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#FFFFFF")));
+ // we won't need color definations after button style management
+ StateColor clr_bg = StateColor(
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::NotHovered),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Disabled),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Pressed),
+ std::pair(wxColour("#D4D4D4"), (int)StateColor::Hovered),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Normal),
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::Enabled)
+ );
+ StateColor clr_br = StateColor(
+ std::pair(wxColour("#DFDFDF"), (int)StateColor::NotFocused),
+ std::pair(wxColour("#26A69A"), (int)StateColor::Focused)
+ );
+ StateColor clr_tx = StateColor(
+ std::pair(wxColour("#6B6A6A"), (int)StateColor::Disabled),
+ std::pair(wxColour("#262E30"), (int)StateColor::Hovered),
+ std::pair(wxColour("#262E30"), (int)StateColor::Normal)
+ );
+
+ // Apply standard style to all
+ for (Button* btn : m_buttons) {
+ btn->SetFont(Label::Body_14);
+ btn->SetMinSize(wxSize(FromDIP(100),FromDIP(32)));
+ btn->SetPaddingSize(wxSize(FromDIP(12), FromDIP(8)));
+ btn->SetCornerRadius(FromDIP(4));
+ btn->SetBorderWidth(FromDIP(1));
+ btn->SetBackgroundColor(clr_bg);
+ btn->SetBorderColor(clr_br);
+ btn->SetTextColor(clr_tx);
+ btn->Bind(wxEVT_KEY_DOWN, &DialogButtons::on_keydown, this);
+ }
+
+ int btn_gap = FromDIP(10);
+
+ auto list = m_left_align_IDs;
+ auto on_left = [list](int id){
+ return list.find(wxStandardID(id)) != list.end();
+ };
+
+ for (Button* btn : m_buttons) // Left aligned
+ if(on_left(btn->GetId()))
+ m_sizer->Add(btn, 0, wxLEFT | wxTOP | wxBOTTOM | wxALIGN_CENTER_VERTICAL, btn_gap);
+
+ m_sizer->AddStretchSpacer();
+
+ for (Button* btn : m_buttons) // Right aligned
+ if(!on_left(btn->GetId()))
+ m_sizer->Add(btn, 0, wxRIGHT | wxTOP | wxBOTTOM | wxALIGN_CENTER_VERTICAL, btn_gap);
+
+ SetPrimaryButton(m_primary);
+ SetAlertButton(m_alert);
+
+ Layout();
+ Fit();
+}
+
+int DialogButtons::FromDIP(int d) {
+ return m_parent->FromDIP(d);
+}
+
+// This might be helpful for future use
+
+// Append Button
+
+// Prepend Button
+
+void DialogButtons::on_keydown(wxKeyEvent& e) {
+ wxObject* current = e.GetEventObject();
+ int key = e.GetKeyCode();
+ int cnt = m_buttons.size();
+ if(cnt > 1){
+ int i = -1;
+ for (Button* btn : m_buttons){
+ i++;
+ if(btn->HasFocus())
+ break;
+ }
+ // possible issue if button hidden
+ if (key == WXK_LEFT) {m_buttons[i - 1 < 0 ? (cnt - 1) : i - 1]->SetFocus();}
+ else if (key == WXK_RIGHT) {m_buttons[i + 1 > (cnt - 1) ? 0 : i + 1]->SetFocus();}
+ }
+ e.Skip();
+}
+
+}} // namespace Slic3r::GUI
\ No newline at end of file
diff --git a/src/slic3r/GUI/Widgets/DialogButtons.hpp b/src/slic3r/GUI/Widgets/DialogButtons.hpp
new file mode 100644
index 0000000000..63f4c9a127
--- /dev/null
+++ b/src/slic3r/GUI/Widgets/DialogButtons.hpp
@@ -0,0 +1,125 @@
+#ifndef slic3r_GUI_DialogButtons_hpp_
+#define slic3r_GUI_DialogButtons_hpp_
+
+#include "wx/wx.h"
+#include "wx/sizer.h"
+#include "map"
+#include "set"
+
+#include "Button.hpp"
+#include "Label.hpp"
+
+#include "slic3r/GUI/GUI_App.hpp"
+
+namespace Slic3r { namespace GUI {
+
+class DialogButtons : public wxWindow{
+public:
+
+ DialogButtons(wxWindow* parent, std::vector non_translated_labels, const wxString& primary_btn_label = "");
+
+ wxBoxSizer* GetSizer() const { return m_sizer; }
+
+ Button* GetButtonFromID(wxStandardID id);
+
+ Button* GetButtonFromLabel(wxString label);
+
+ Button* GetOK();
+ Button* GetYES();
+ Button* GetAPPLY();
+ Button* GetCONFIRM();
+ Button* GetNO();
+ Button* GetCANCEL();
+ Button* GetBACK();
+ Button* GetFORWARD();
+
+ void SetPrimaryButton(wxString label);
+
+ void SetAlertButton(wxString label);
+
+ void UpdateButtons();
+
+ ~DialogButtons();
+
+private:
+ wxWindow* m_parent;
+ wxBoxSizer* m_sizer;
+ std::vector