Compare commits

..
Author SHA1 Message Date
Lam Wei Lun 7b717ffa7d Thumbnail display support for JPG/PNG directly 2026-10-09 15:13:24 +08:00
Lam Wei Lun f42173a19f clang-tidy fixes 2026-10-08 11:51:42 +08:00
Lam Wei Lun b99a9a06f3 OrcaPrinterAgent: Thumbnails over http 2026-10-08 11:18:24 +08:00
Lam Wei Lun faa64ab089 Merge main branch 2026-10-08 11:12:25 +08:00
Ian Chua 987b1b2b63 OrcaPrinterAgent - Files over MQTT (#16251)
- Add packet draining to OrcaMqttConnection
- Change files list/delete to use the Mqtt version instead of http
2026-10-07 19:20:35 +08:00
Lam Wei Lun 9bd4c71a19 List OrcaSonar printer files over LAN MQTT
The Storage tab's list/metadata/delete went over OrcaSonar's Moonraker
façade, so they failed when the façade was disabled. Send the files.* MQTT
commands on the LAN connection instead - the same transport OrcaCloud uses -
and match replies by sequence_id.

Thumbnails still use the façade (no MQTT equivalent); gcode upload is
unchanged.
2026-10-07 18:35:12 +08:00
Lam Wei Lun 3c646f305c Fix Orca MQTT: reassemble packets across WebSocket messages
OrcaSonar's /mqtt WebSocket proxy writes each ~8 KiB TCP read as its own
WebSocket binary message, so an MQTT packet larger than one read (e.g. a
files.list reply) spans several messages, and several packets can arrive in
one. OrcaMqttConnection assumed exactly one packet per message, so packets
that spanned messages were dropped and the request timed out ("Load failed").

Keep a per-connection byte buffer and extract complete packets by their
remaining-length header, dispatching each. A malformed header (or a declared
size past a 16 MiB cap) drops the connection so the worker reconnects rather
than buffering forever.
2026-10-07 18:35:12 +08:00
Lam Wei Lun 432d6be518 Print/Delete support for .gcode.3mf files 2026-10-06 15:42:32 +08:00
Ian Chua 3e7f0c027a fix: fixes from run_clang_tidy.sh --fix 2026-10-06 14:54:51 +08:00
Lam Wei Lun 504a143b98 Missing headers 2026-10-06 14:19:42 +08:00
Lam Wei Lun a87639ac41 Merge main and fix conflicts 2026-10-06 13:43:22 +08:00
Lam Wei Lun ecbd03fed7 merge main 2026-10-06 13:08:46 +08:00
Lam Wei Lun ccbb73baaf ## Summary
Follow-up to the feature/OrcaSonar review. Scopes the new behavior to the
OrcaSonar agent, fixes several AMS-sync and lifecycle bugs, and makes the
MQTT tests run in CI. Non-OrcaSonar agents keep their existing behavior.

## Changes

Discovery
- Gate the background SSDP scan to a configured OrcaSonar machine instead of
  running for every non-BBL profile; drive discovery on demand from the
  machine-select popup and back off idle rounds from 5s to 60s.
- Add NSLocalNetworkUsageDescription and NSBonjourServices to both macOS
  Info.plist templates.

AMS sync
- Resolve id-less printer-set trays by material type in get_ams_cobox_infos
  and the sidebar badge loop, matching sync_ams_list, so combo arrays and
  badges stay aligned.
- Keep a printer-set tray that resolved by type out of the "unknown or
  incompatible filaments" dialog.

AMS device UI
- Gate the "Empty" tray classification, and the editable temperature fields,
  to the OrcaSonar agent; Bambu keeps "?" and read-only presets.
- Validate AMS material temps on confirm: reject out-of-range values and
  min > max before the command is sent.

Storage tab
- Bind the show/hide handler on the panel's ancestors (StoragePanel and
  MonitorPanel) and unbind on destruction, so the Bambu file system stops
  when the tab is left.

Transport
- Load /etc/ssl/cert.pem on macOS in add_platform_root_certificates, after
  set_default_verify_paths.
- Release lifecycle_mutex before start()'s connect wait so stop() can cancel
  the attempt and signal completion instead of stalling the UI thread.

Localization
- Add OrcaFilesPanel.cpp to list.txt and regenerate the catalogs.

## Tests
- Un-hide the loopback MockBroker integration tests (ephemeral port, no
  network) so ctest registers and runs them.
- Mock broker tracks SUBSCRIBE/UNSUBSCRIBE and delivers push_report only to a
  subscribed topic; the reconnect test asserts the re-SUBSCRIBE.
- Add bbl empty-tray cases, an AMS combo-alignment case, and unknowns
  assertions to the AMS sync tests.
2026-10-06 12:09:23 +08:00
Ian Chua 029bc7928f AMS Sync, Filament Mapping, Storage Tab (#16156)
## Summary

Adds the remaining OrcaPrinterAgent work on top of feature/OrcaSonar:
connector capability gating, AMS filament mapping, and the printer
Storage tab. Contains no changes to the other printer agents (Moonraker,
Qidi, Snapmaker, BBL, Creality) — that refactor belongs to its own
branch.

## Changes

Capability gating (IPrinterAgent, OrcaPrinterAgent)

• Parse supported_features, capabilities.protocol.features, and
supported_commands from get_capabilities, including replies without a
flags block.
• Add supports_command, supports_feature, and uses_filament_mapping
queries with defaults that preserve existing agent behavior.
• Gate macro-backed AMS commands on fms plus the advertised command, and
slot metadata writes on filament_slots. Unknown capability means not
supported.

## AMS filament mapping

• Serialize ams_mapping2 into print.gcode_file.filament_mapping, keyed
by array position, dropping {255,255}; omit when empty so unmapped
prints stay byte-identical.
• Refuse a mapped print visibly until the correlation flag and
filament_mapping capability are satisfied, and refuse partially mapped
prints with an unmapped used filament. The GUI predicate shares the
serializer's definition.
• Resolve printer-set trays to the matching Generic preset by material
type and color; skip forced external-spool selection on printers without
an AMS.
• start_local_print_with_record returns non-success so PrintJob falls
back to start_print.

## AMS device UI on non-Bambu agents

• Resolve the printer model from the agent model id or selected profile
so the AMS Materials Setting dropdown and Confirm button work;
third-party trays keep editable temps.
• Render explicitly-empty trays as "Empty" via a wire-derived is_empty,
keeping the slot editable.
• Hide flow-dynamics K/N controls for non-Bambu agents, leaving Bambu
behavior unchanged.

## Storage tab (printer G-code files)

• New IPrinterAgent file APIs — list_printer_files,
get_printer_file_thumbnail, delete_printer_file,
get_printer_file_metadata — with ORCA_NETWORK_ERR_CMD_NOT_SUPPORTED
defaults.
• NetworkAgent forwards to the bound agent; OrcaPrinterAgent implements
them against /server/files.
• New StoragePanel / OrcaFilesPanel and a Printer/ file-grid abstraction
(IFileGridModel, RemoteFileGridModel, BambuFileGridModel).

## Tests

Covers serializer keying/omission, GUI/agent gate agreement, payload
shape, capability parsing and per-command AMS gating, model resolution,
empty-tray classification, and AMS sync.
2026-10-05 18:52:45 +08:00
Lam Wei Lun 0a8fce0913 Add support for printing gcode files in the Storage tab 2026-10-05 18:22:29 +08:00
Lam Wei Lun 3942ba7005 OrcaPrinterAgent Storage Tab 2026-10-05 18:22:29 +08:00
Lam Wei Lun 0110572a77 Removal of specific ORCA_PRINTER_AGENT_ID usage in DeviceManager/SelectMachine/SendMultiMachinePage. Generalized the capabilities under IPrinterAgent 2026-10-05 18:22:29 +08:00
Lam Wei Lun 2c2869ab07 fix: make the AMS device UI work on non-Bambu printer agents
Resolve the filament list's printer model from the agent-reported model id or the selected printer profile, so the AMS Materials Setting dropdown and its Confirm button work on OrcaSonar. Third-party trays pre-fill and allow editing their temps, and the popup's initial selection no longer overwrites them.

Render explicitly-empty trays as "Empty" instead of "?" using a wire-derived DevAmsTray::is_empty, while keeping the slot editable.

Hide the flow-dynamics K/N controls for non-Bambu agents — tile, dialog, validation and sends — with Bambu behavior unchanged.

Tests cover model resolution, the K/N gate and empty-tray classification.
2026-10-05 18:22:29 +08:00
Lam Wei Lun bf63eb1226 feat: enable filament mapping and resolve printer-set AMS trays by material type
Drop the index-correlation gate so mapped prints are gated only on the filament_mapping capability
Resolve AMS trays set on the printer UI to the matching Generic preset using their material type and color
Skip the forced external-spool selection on printers without an AMS and add coverage for the mapping gates
2026-10-05 18:22:26 +08:00
Lam Wei Lun 38e57888a5 feat: add filament mapping and AMS capability gates for the orca printer agent
Parse connector-scope capabilities from get_capabilities: supported_features, capabilities.protocol.features and supported_commands are read for orca devices even when the reply has no flags block, reset before each parse, and left untouched for Bambu.

Gate macro-backed AMS commands on fms plus the advertised command (change filament, select tray, control, user settings, RFID, drying stop); gate slot metadata writes on filament_slots. Unknown capability is not support.

Serialize PrintParams::ams_mapping2 into print.gcode_file.filament_mapping with the array position as filament_index and {255,255} dropped. The field is omitted when empty, so an unmapped print stays byte-identical. A mapped print is refused visibly while ORCA_FILAMENT_MAPPING_CORRELATION_VERIFIED is false or the connector did not advertise filament_mapping; the GUI predicate shares the serializer's definition so both gates agree. Refuse a partially mapped print that leaves a used filament without a target.

Return a non-success result from start_local_print_with_record so PrintJob falls back to start_print instead of treating an unsent print as success.

Tests cover serializer keying and omission, GUI/agent gate agreement, payload shape, the with_record result, capability parsing, and the per-command AMS gate.
2026-10-05 18:22:23 +08:00
Ian Chua fc079b2e5b test: add OrcaSonar printer agent coverage 2026-10-05 16:40:22 +08:00
Ian Chua a88843c6f8 feat: initial implementation of OrcaSonar Printer Agent 2026-10-05 16:15:17 +08:00
595 changed files with 84376 additions and 44388 deletions
+6 -2
View File
@@ -5,6 +5,7 @@ on:
branches:
- main
- release/*
- belt-printer
paths:
- 'deps/**'
- 'src/**'
@@ -261,6 +262,9 @@ jobs:
date:
ver:
ver_pure:
# Belt-printer nightlies share the main nightly release but carry a `_belt`
# suffix so they never overwrite the main assets.
nightly_suffix: ${{ github.ref == 'refs/heads/belt-printer' && '_belt' || '' }}
steps:
- name: "Remove unneeded stuff to free disk space"
run:
@@ -435,13 +439,13 @@ jobs:
name: OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
path: '/__w/OrcaSlicer/OrcaSlicer/OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak'
- name: Deploy Flatpak to nightly release
if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main'
if: github.repository == 'OrcaSlicer/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/belt-printer')
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: /__w/OrcaSlicer/OrcaSlicer/OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
asset_name: OrcaSlicer-Linux-flatpak_nightly_${{ matrix.variant.arch }}.flatpak
asset_name: OrcaSlicer-Linux-flatpak_nightly${{ env.nightly_suffix }}_${{ matrix.variant.arch }}.flatpak
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
# The asset is /app (the exes link it at runtime) plus the build tree
+21 -13
View File
@@ -33,6 +33,11 @@ jobs:
ubuntu-ver: '2404'
ubuntu-ver-str: '_Ubuntu2404'
ORCA_UPDATER_SIG_KEY: ${{ secrets.ORCA_UPDATER_SIG_KEY }}
# Branches whose builds are published to the nightly release. The
# belt-printer branch ships alongside main but its assets carry a `_belt`
# suffix (nightly_suffix) so they never overwrite the main nightly assets.
deploy_nightly: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/belt-printer' }}
nightly_suffix: ${{ github.ref == 'refs/heads/belt-printer' && '_belt' || '' }}
steps:
- name: Checkout
@@ -255,7 +260,7 @@ jobs:
# Thanks to RaySajuuk, it's working now
- name: Sign app and notary
if: github.repository == 'OrcaSlicer/OrcaSlicer' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) && runner.os == 'macOS' && inputs.macos-combine-only
if: github.repository == 'OrcaSlicer/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/belt-printer' || startsWith(github.ref, 'refs/heads/release/')) && runner.os == 'macOS' && inputs.macos-combine-only
timeout-minutes: 30
working-directory: ${{ github.workspace }}
env:
@@ -343,7 +348,7 @@ jobs:
fi
- name: Create DMG without notary
if: github.ref != 'refs/heads/main' && runner.os == 'macOS' && inputs.macos-combine-only
if: github.ref != 'refs/heads/main' && github.ref != 'refs/heads/belt-printer' && runner.os == 'macOS' && inputs.macos-combine-only
working-directory: ${{ github.workspace }}
run: |
# Load the `retry` helper (retries flaky commands such as `hdiutil create`).
@@ -389,13 +394,13 @@ jobs:
if-no-files-found: ignore
- name: Deploy Mac release
if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && runner.os == 'macOS' && inputs.macos-combine-only && !vars.SELF_HOSTED
if: github.repository == 'OrcaSlicer/OrcaSlicer' && env.deploy_nightly == 'true' && runner.os == 'macOS' && inputs.macos-combine-only && !vars.SELF_HOSTED
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/OrcaSlicer_Mac_universal_${{ env.ver }}.dmg
asset_name: OrcaSlicer_Mac_universal_nightly.dmg
asset_name: OrcaSlicer_Mac_universal_nightly${{ env.nightly_suffix }}.dmg
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
@@ -538,24 +543,24 @@ jobs:
path: ${{ github.workspace }}/build/src/Release/OrcaSlicer_profile_validator.exe
- name: Deploy Windows release portable
if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && runner.os == 'Windows' && !vars.SELF_HOSTED
if: github.repository == 'OrcaSlicer/OrcaSlicer' && env.deploy_nightly == 'true' && runner.os == 'Windows' && !vars.SELF_HOSTED
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/OrcaSlicer_Windows_${{ env.ver }}${{ env.ARCH_SUFFIX }}_portable.zip
asset_name: OrcaSlicer_Windows${{ env.ARCH_SUFFIX }}_nightly_portable.zip
asset_name: OrcaSlicer_Windows${{ env.ARCH_SUFFIX }}_nightly${{ env.nightly_suffix }}_portable.zip
asset_content_type: application/x-zip-compressed
max_releases: 1
- name: Deploy Windows release installer
if: github.repository == 'OrcaSlicer/OrcaSlicer' && github.ref == 'refs/heads/main' && runner.os == 'Windows' && !vars.SELF_HOSTED
if: github.repository == 'OrcaSlicer/OrcaSlicer' && env.deploy_nightly == 'true' && runner.os == 'Windows' && !vars.SELF_HOSTED
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/${{ env.BUILD_DIR }}/OrcaSlicer_Windows_Installer_${{ env.ver }}${{ env.ARCH_SUFFIX }}.exe
asset_name: OrcaSlicer_Windows_Installer${{ env.ARCH_SUFFIX }}_nightly.exe
asset_name: OrcaSlicer_Windows_Installer${{ env.ARCH_SUFFIX }}_nightly${{ env.nightly_suffix }}.exe
asset_content_type: application/x-msdownload
max_releases: 1
@@ -696,20 +701,23 @@ jobs:
path: './build/src/dev-utils/Release/generate_system_cache'
- name: Deploy Ubuntu release
if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && github.ref == 'refs/heads/main' && runner.os == 'Linux' && !vars.SELF_HOSTED }}
if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && env.deploy_nightly == 'true' && runner.os == 'Linux' && !vars.SELF_HOSTED }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/OrcaSlicer/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ./build/OrcaSlicer_Linux_AppImage${{ env.ubuntu-ver-str }}${{ env.arch_suffix }}_${{ env.ver }}.AppImage
asset_name: OrcaSlicer_Linux_AppImage${{ env.ubuntu-ver-str }}${{ env.arch_suffix }}_nightly.AppImage
asset_name: OrcaSlicer_Linux_AppImage${{ env.ubuntu-ver-str }}${{ env.arch_suffix }}_nightly${{ env.nightly_suffix }}.AppImage
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
- name: Deploy Ubuntu release
if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && github.ref == 'refs/heads/main' && runner.os == 'Linux' && !vars.SELF_HOSTED && inputs.arch != 'aarch64' }}
run: |
git -c user.name="${GITHUB_ACTOR}" -c user.email="${GITHUB_ACTOR}@users.noreply.github.com" tag -f -a nightly-builds "${GITHUB_SHA}" -m nightly-builds
git push -f origin refs/tags/nightly-builds
uses: rickstaa/action-create-tag@v1
with:
tag: "nightly-builds"
tag_exists_error: false
force_push_tag: true
message: "nightly-builds"
- name: Deploy Ubuntu OrcaSlicer_profile_validator release
if: ${{ github.repository == 'OrcaSlicer/OrcaSlicer' && ! env.ACT && github.ref == 'refs/heads/main' && runner.os == 'Linux' && !vars.SELF_HOSTED && inputs.arch != 'aarch64' }}
-14
View File
@@ -74,26 +74,12 @@ jobs:
set +e
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2 2>&1 | tee ${{ runner.temp }}/validate_system.log
exit ${PIPESTATUS[0]}
# The validator above is the nightly build of main, so it cannot slice profiles that use
# settings a PR adds to the engine: it reports their placeholders as undefined. A PR that
# changes src/ also runs Build all, whose Slice check runs this same sweep with the
# validator built from the PR, so the sweep below only runs for the other PRs.
- name: Detect engine changes
id: engine_changes
if: ${{ github.event_name == 'pull_request' }}
run: |
base=${{ github.event.pull_request.base.sha }}
if git fetch --no-tags --depth=1 origin "$base" && ! git diff --quiet "$base" HEAD -- src/; then
echo "changed=true" >> "$GITHUB_OUTPUT"
echo "::notice::This PR changes src/, so Build all's Slice check slices the profiles with the PR-built validator."
fi
# Slice a two-colour cube through every printer, and through every system process/filament whose
# templates no printer's own slice reaches, so every custom g-code and filename_format shipped is
# expanded (names in {if} branches not taken included) - catches undefined-placeholder /
# invalid-flow bugs the static checks above cannot see.
- name: validate slice (expand custom g-code)
id: validate_slice
if: ${{ steps.engine_changes.outputs.changed != 'true' }}
continue-on-error: true
run: |
set +e
+2 -2
View File
@@ -156,7 +156,7 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
libopengl0 libgl1 libegl1 libwebkit2gtk-4.1-0
libopengl0 libglu1-mesa libgl1 libegl1 libwebkit2gtk-4.1-0
- uses: actions/setup-python@v6
with:
@@ -224,7 +224,7 @@ jobs:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
xvfb xdotool imagemagick openbox mesa-utils \
libopengl0 libgl1 libegl1 libwebkit2gtk-4.1-0
libopengl0 libglu1-mesa libgl1 libegl1 libwebkit2gtk-4.1-0
- name: Run the parity harness
run: |
+2 -2
View File
@@ -1084,10 +1084,10 @@ endif ()
find_path(SPNAV_INCLUDE_DIR spnav.h)
if (SPNAV_INCLUDE_DIR)
find_library(SPNAV_LIB NAMES libspnav.a spnav)
find_library(SPNAV_LIB NAMES libspnav.a) # Force linking libspnav statically
if (SPNAV_LIB)
add_definitions(-DHAVE_SPNAV)
message(STATUS "SPNAV library found: ${SPNAV_LIB}")
message(STATUS "SPNAV library found")
else()
message(STATUS "SPNAV library NOT found, Spacenavd not supported")
endif()
+11 -4
View File
@@ -68,10 +68,6 @@ If you come across any of these in search results, please <b>report them</b> as
Regular updates fueled by continuous community contributions.
- **Wide Printer Compatibility**
Supports a broad range of printers: Bambu Lab, Prusa, Creality, Voron, and more.
- **[Belt Printer Support](https://www.orcaslicer.com/wiki/belt_printing)**
Slice for belt / conveyor (infinite-Z) printers, with belt-aware supports and a tilted-bed preview. Contributed by [Joseph Robertson (@HarrierPigeon)](https://github.com/HarrierPigeon).
- **[IDEX/IQEX Parallel Printing Support](https://www.orcaslicer.com/wiki/idex_iqex_parallel_printing)**
Print copies or mirror images of a part on every carriage of an IDEX or IQEX printer at once, with the mode chosen per plate and nozzle clearance zones shown on the bed. Contributed by [Clifford (@cgarwood82)](https://github.com/cgarwood82).
- Additional features can be found in the [change notes](https://github.com/OrcaSlicer/OrcaSlicer/releases/).
# Wiki
@@ -93,6 +89,17 @@ Visit our GitHub Releases page for the latest stable version of OrcaSlicer, reco
🌙 **[Download the Latest Nightly Build](https://github.com/OrcaSlicer/OrcaSlicer/releases/tag/nightly-builds)**
Explore the latest developments in OrcaSlicer with our nightly builds. Feedback on these versions is highly appreciated.
### Belt Printer Builds
The [nightly release](https://github.com/OrcaSlicer/OrcaSlicer/releases/tag/nightly-builds) ships **two parallel builds**: the standard build and a belt-printer build. Both are attached to the same release — tell them apart by the filename suffix:
- **Standard** — no suffix (e.g. `OrcaSlicer_Windows_Installer_x64_nightly.exe`)
- **Belt** — `_belt` suffix (e.g. `OrcaSlicer_Windows_Installer_x64_nightly_belt.exe`)
The `_belt` builds add **experimental support for belt / conveyor (infinite-Z) printers**, where the model is sliced against a tilted belt surface instead of a flat horizontal bed. They include ready-to-use belt printer profiles, the full belt slicing pipeline (mesh rotation and G-code transforms), belt-aware support generation, and a tilted-bed preview.
> ⚠️ Belt printer support is under active development and is **not yet merged into `main`** — it currently ships only in these parallel `_belt` builds, produced from the [`belt-printer`](https://github.com/OrcaSlicer/OrcaSlicer/tree/belt-printer) branch. See tracking PR [#14394](https://github.com/OrcaSlicer/OrcaSlicer/pull/14394) and the original documentation in [#12998](https://github.com/OrcaSlicer/OrcaSlicer/pull/12998).
# How to install
## Windows
+3 -36
View File
@@ -8,10 +8,9 @@ SCRIPT_PATH=$(dirname "$(readlink -f "${0}")")
pushd "${SCRIPT_PATH}" > /dev/null
function usage() {
echo "Usage: ./${SCRIPT_NAME} [-1][-b][-c][-d][-D][-e][-F][-g][-h][-i][-j N][-J N][-p][-r][-s][-t][-u][-l][-L]"
echo "Usage: ./${SCRIPT_NAME} [-1][-b][-c][-d][-D][-e][-F][-g][-h][-i][-j N][-p][-r][-s][-t][-u][-l][-L]"
echo " -1: limit builds to one core (where possible)"
echo " -j N: limit builds to N cores (where possible)"
echo " -J N: build up to N dependencies at a time, each still using -j jobs (default: 1)"
echo " -b: build in Debug mode"
echo " -c: force a clean build"
echo " -C: enable ANSI-colored compile output (GNU/Clang only)"
@@ -37,13 +36,12 @@ function usage() {
}
SLIC3R_PRECOMPILED_HEADERS="ON"
DEPS_PARALLEL=""
unset name
BUILD_DIR=build
BUILD_CONFIG=Release
FORWARDED_ARGS=()
while getopts ":1j:J:bcCdDeFghiprstulL" opt ; do
while getopts ":1j:bcCdDeFghiprstulL" opt ; do
case ${opt} in
1 )
export CMAKE_BUILD_PARALLEL_LEVEL=1
@@ -53,10 +51,6 @@ while getopts ":1j:J:bcCdDeFghiprstulL" opt ; do
export CMAKE_BUILD_PARALLEL_LEVEL=$OPTARG
FORWARDED_ARGS+=("-j" "$OPTARG")
;;
J )
DEPS_PARALLEL=$OPTARG
FORWARDED_ARGS+=("-J" "$OPTARG")
;;
b )
BUILD_DIR=build-dbg
BUILD_CONFIG=Debug
@@ -141,11 +135,6 @@ if [[ -n "${CLEAN_DOCKER_IMAGE}" ]] && [[ -z "${USE_DOCKER}" ]] ; then
exit 1
fi
if [[ -n "${DEPS_PARALLEL}" ]] && ! [[ "${DEPS_PARALLEL}" =~ ^[1-9][0-9]*$ ]] ; then
echo "Error: -J expects a positive integer."
exit 1
fi
function check_available_memory_and_disk() {
FREE_MEM_GB=$(free --gibi --total | grep 'Mem' | rev | cut --delimiter=" " --fields=1 | rev)
MIN_MEM_GB=10
@@ -548,29 +537,7 @@ if [[ -n "${BUILD_DEPS}" ]] ; then
fi
print_and_run cmake -S deps -B deps/$BUILD_DIR "${CMAKE_C_CXX_COMPILER_CLANG[@]}" "${CMAKE_LLD_LINKER_ARGS[@]}" "${CMAKE_CCACHE_ARGS[@]}" -G Ninja "${COLORED_OUTPUT}" "${BUILD_ARGS[@]}"
# The top-level build runs one dependency at a time by default, which keeps the console
# output readable and lets that dependency's own build use all of CMAKE_BUILD_PARALLEL_LEVEL.
# -J raises the top level instead, and -j still applies in full to every dependency, so the
# worst case is -J times -j compile jobs at once. Ninja has no job server to share a pool
# across the nested builds, so that ceiling is not enforced anywhere: pick -J to suit the RAM.
DEPS_JOBS=1
if [[ -n "${DEPS_PARALLEL}" ]] ; then
DEPS_JOBS=${DEPS_PARALLEL}
SAVED_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL-}
export CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL:-$(nproc)}
echo "Building up to ${DEPS_JOBS} dependencies at a time, ${CMAKE_BUILD_PARALLEL_LEVEL} jobs each: up to $(( DEPS_JOBS * CMAKE_BUILD_PARALLEL_LEVEL )) compile jobs at once."
fi
print_and_run cmake --build deps/$BUILD_DIR -j"${DEPS_JOBS}"
if [[ -n "${DEPS_PARALLEL}" ]] ; then
# Give the whole -j back to the OrcaSlicer build below.
if [[ -n "${SAVED_PARALLEL_LEVEL}" ]] ; then
export CMAKE_BUILD_PARALLEL_LEVEL=${SAVED_PARALLEL_LEVEL}
else
unset CMAKE_BUILD_PARALLEL_LEVEL
fi
fi
print_and_run cmake --build deps/$BUILD_DIR -j1
fi
if [[ -n "${BUILD_ORCA}" ]] || [[ -n "${BUILD_TESTS}" ]] ; then
+2 -2
View File
@@ -104,8 +104,8 @@ fi
CMAKE_VERSION=$(cmake --version | head -1 | sed 's/[^0-9]*\([0-9]*\).*/\1/')
if [ "$CMAKE_VERSION" -ge 4 ] 2>/dev/null; then
export CMAKE_POLICY_VERSION_MINIMUM=3.10
export CMAKE_POLICY_COMPAT="-DCMAKE_POLICY_VERSION_MINIMUM=3.10"
export CMAKE_POLICY_VERSION_MINIMUM=3.5
export CMAKE_POLICY_COMPAT="-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
echo "Detected CMake 4.x, adding compatibility flag (env + cmake arg)"
else
export CMAKE_POLICY_COMPAT=""
+359
View File
@@ -0,0 +1,359 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
# PrusaSlicer specifics:
# This file is backported from CMake 3.15 distribution to behave uniformly
# across all versions of CMake. It explicitly adds GLEW_STATIC compile
# definition to static targets which is needed to prevent link errors.
#[=======================================================================[.rst:
FindGLEW
--------
Find the OpenGL Extension Wrangler Library (GLEW)
Input Variables
^^^^^^^^^^^^^^^
The following variables may be set to influence this module’s behavior:
``GLEW_USE_STATIC_LIBS``
to find and create :prop_tgt:`IMPORTED` target for static linkage.
``GLEW_VERBOSE``
to output a detailed log of this module.
Imported Targets
^^^^^^^^^^^^^^^^
This module defines the following :ref:`Imported Targets <Imported Targets>`:
``GLEW::glew``
The GLEW shared library.
``GLEW::glew_s``
The GLEW static library, if ``GLEW_USE_STATIC_LIBS`` is set to ``TRUE``.
``GLEW::GLEW``
Duplicates either ``GLEW::glew`` or ``GLEW::glew_s`` based on availability.
Result Variables
^^^^^^^^^^^^^^^^
This module defines the following variables:
``GLEW_INCLUDE_DIRS``
include directories for GLEW
``GLEW_LIBRARIES``
libraries to link against GLEW
``GLEW_SHARED_LIBRARIES``
libraries to link against shared GLEW
``GLEW_STATIC_LIBRARIES``
libraries to link against static GLEW
``GLEW_FOUND``
true if GLEW has been found and can be used
``GLEW_VERSION``
GLEW version
``GLEW_VERSION_MAJOR``
GLEW major version
``GLEW_VERSION_MINOR``
GLEW minor version
``GLEW_VERSION_MICRO``
GLEW micro version
#]=======================================================================]
include(FindPackageHandleStandardArgs)
if(APPLE)
find_package(OpenGL QUIET)
if(OpenGL_FOUND)
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: Found OpenGL Framework.")
message(STATUS "FindGLEW: OPENGL_LIBRARIES: ${OPENGL_LIBRARIES}")
endif()
else()
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: could not find GLEW library.")
endif()
return()
endif()
endif()
function(__glew_set_find_library_suffix shared_or_static)
if((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "SHARED")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
elseif((UNIX AND NOT APPLE) AND "${shared_or_static}" MATCHES "STATIC")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
elseif(APPLE AND "${shared_or_static}" MATCHES "SHARED")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so")
elseif(APPLE AND "${shared_or_static}" MATCHES "STATIC")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
elseif(WIN32 AND "${shared_or_static}" MATCHES "SHARED")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
elseif(WIN32 AND "${shared_or_static}" MATCHES "STATIC")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.a;.dll.a")
endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}" PARENT_SCOPE)
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: CMAKE_FIND_LIBRARY_SUFFIXES for ${shared_or_static}: ${CMAKE_FIND_LIBRARY_SUFFIXES}")
endif()
endfunction()
if(GLEW_VERBOSE)
if(DEFINED GLEW_USE_STATIC_LIBS)
message(STATUS "FindGLEW: GLEW_USE_STATIC_LIBS: ${GLEW_USE_STATIC_LIBS}.")
else()
message(STATUS "FindGLEW: GLEW_USE_STATIC_LIBS is undefined. Treated as FALSE.")
endif()
endif()
find_path(GLEW_INCLUDE_DIR GL/glew.h)
mark_as_advanced(GLEW_INCLUDE_DIR)
set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: GLEW_INCLUDE_DIR: ${GLEW_INCLUDE_DIR}")
message(STATUS "FindGLEW: GLEW_INCLUDE_DIRS: ${GLEW_INCLUDE_DIRS}")
endif()
if("${CMAKE_GENERATOR_PLATFORM}" MATCHES "x64" OR "${CMAKE_GENERATOR}" MATCHES "Win64")
set(_arch "x64")
elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "ARM64")
set(_arch "x64") # GLEW ships one header set; ARM64 uses the x64 import path
else()
set(_arch "Win32")
endif()
set(__GLEW_CURRENT_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
__glew_set_find_library_suffix(SHARED)
find_library(GLEW_SHARED_LIBRARY_RELEASE
NAMES GLEW glew glew32
PATH_SUFFIXES lib lib64 libx32 lib/Release/${_arch}
PATHS ENV GLEW_ROOT)
find_library(GLEW_SHARED_LIBRARY_DEBUG
NAMES GLEWd glewd glew32d
PATH_SUFFIXES lib lib64
PATHS ENV GLEW_ROOT)
__glew_set_find_library_suffix(STATIC)
find_library(GLEW_STATIC_LIBRARY_RELEASE
NAMES GLEW glew glew32s
PATH_SUFFIXES lib lib64 libx32 lib/Release/${_arch}
PATHS ENV GLEW_ROOT)
find_library(GLEW_STATIC_LIBRARY_DEBUG
NAMES GLEWds GLEWd glewd glewds glew32ds
PATH_SUFFIXES lib lib64
PATHS ENV GLEW_ROOT)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${__GLEW_CURRENT_FIND_LIBRARY_SUFFIXES})
unset(__GLEW_CURRENT_FIND_LIBRARY_SUFFIXES)
include(SelectLibraryConfigurations)
select_library_configurations(GLEW_SHARED)
select_library_configurations(GLEW_STATIC)
if(NOT GLEW_USE_STATIC_LIBS)
set(GLEW_LIBRARIES ${GLEW_SHARED_LIBRARY})
else()
set(GLEW_LIBRARIES ${GLEW_STATIC_LIBRARY})
endif()
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: GLEW_SHARED_LIBRARY_RELEASE: ${GLEW_SHARED_LIBRARY_RELEASE}")
message(STATUS "FindGLEW: GLEW_STATIC_LIBRARY_RELEASE: ${GLEW_STATIC_LIBRARY_RELEASE}")
message(STATUS "FindGLEW: GLEW_SHARED_LIBRARY_DEBUG: ${GLEW_SHARED_LIBRARY_DEBUG}")
message(STATUS "FindGLEW: GLEW_STATIC_LIBRARY_DEBUG: ${GLEW_STATIC_LIBRARY_DEBUG}")
message(STATUS "FindGLEW: GLEW_SHARED_LIBRARY: ${GLEW_SHARED_LIBRARY}")
message(STATUS "FindGLEW: GLEW_STATIC_LIBRARY: ${GLEW_STATIC_LIBRARY}")
message(STATUS "FindGLEW: GLEW_LIBRARIES: ${GLEW_LIBRARIES}")
endif()
# Read version from GL/glew.h file
if(EXISTS "${GLEW_INCLUDE_DIR}/GL/glew.h")
file(STRINGS "${GLEW_INCLUDE_DIR}/GL/glew.h" _contents REGEX "^VERSION_.+ [0-9]+")
if(_contents)
string(REGEX REPLACE ".*VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" GLEW_VERSION_MAJOR "${_contents}")
string(REGEX REPLACE ".*VERSION_MINOR[ \t]+([0-9]+).*" "\\1" GLEW_VERSION_MINOR "${_contents}")
string(REGEX REPLACE ".*VERSION_MICRO[ \t]+([0-9]+).*" "\\1" GLEW_VERSION_MICRO "${_contents}")
set(GLEW_VERSION "${GLEW_VERSION_MAJOR}.${GLEW_VERSION_MINOR}.${GLEW_VERSION_MICRO}")
endif()
endif()
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: GLEW_VERSION_MAJOR: ${GLEW_VERSION_MAJOR}")
message(STATUS "FindGLEW: GLEW_VERSION_MINOR: ${GLEW_VERSION_MINOR}")
message(STATUS "FindGLEW: GLEW_VERSION_MICRO: ${GLEW_VERSION_MICRO}")
message(STATUS "FindGLEW: GLEW_VERSION: ${GLEW_VERSION}")
endif()
find_package_handle_standard_args(GLEW
REQUIRED_VARS GLEW_INCLUDE_DIRS GLEW_LIBRARIES
VERSION_VAR GLEW_VERSION)
if(NOT GLEW_FOUND)
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: could not find GLEW library.")
endif()
return()
endif()
if(NOT TARGET GLEW::glew AND NOT GLEW_USE_STATIC_LIBS)
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: Creating GLEW::glew imported target.")
endif()
add_library(GLEW::glew UNKNOWN IMPORTED)
set_target_properties(GLEW::glew
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
if(APPLE)
if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0")
set_target_properties(GLEW::glew
PROPERTIES INTERFACE_LINK_LIBRARIES "-framework OpenGL")
else()
set_target_properties(GLEW::glew
PROPERTIES INTERFACE_LINK_LIBRARIES OpenGL::GL)
endif()
endif()
if(GLEW_SHARED_LIBRARY_RELEASE)
set_property(TARGET GLEW::glew
APPEND
PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(GLEW::glew
PROPERTIES IMPORTED_LOCATION_RELEASE "${GLEW_SHARED_LIBRARY_RELEASE}")
endif()
if(GLEW_SHARED_LIBRARY_DEBUG)
set_property(TARGET GLEW::glew
APPEND
PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(GLEW::glew
PROPERTIES IMPORTED_LOCATION_DEBUG "${GLEW_SHARED_LIBRARY_DEBUG}")
endif()
elseif(NOT TARGET GLEW::glew_s AND GLEW_USE_STATIC_LIBS)
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: Creating GLEW::glew_s imported target.")
endif()
add_library(GLEW::glew_s UNKNOWN IMPORTED)
set_target_properties(GLEW::glew_s
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
set_target_properties(GLEW::glew_s PROPERTIES INTERFACE_COMPILE_DEFINITIONS GLEW_STATIC)
if(APPLE)
if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0")
set_target_properties(GLEW::glew_s
PROPERTIES INTERFACE_LINK_LIBRARIES "-framework OpenGL")
else()
set_target_properties(GLEW::glew_s
PROPERTIES INTERFACE_LINK_LIBRARIES OpenGL::GL)
endif()
endif()
if(GLEW_STATIC_LIBRARY_RELEASE)
set_property(TARGET GLEW::glew_s
APPEND
PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(GLEW::glew_s
PROPERTIES IMPORTED_LOCATION_RELEASE "${GLEW_STATIC_LIBRARY_RELEASE}")
endif()
if(GLEW_STATIC_LIBRARY_DEBUG)
set_property(TARGET GLEW::glew_s
APPEND
PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(GLEW::glew_s
PROPERTIES IMPORTED_LOCATION_DEBUG "${GLEW_STATIC_LIBRARY_DEBUG}")
endif()
endif()
if(NOT TARGET GLEW::GLEW)
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: Creating GLEW::GLEW imported target.")
endif()
add_library(GLEW::GLEW UNKNOWN IMPORTED)
set_target_properties(GLEW::GLEW
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${GLEW_INCLUDE_DIRS}")
if(APPLE)
if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0")
set_target_properties(GLEW::GLEW
PROPERTIES INTERFACE_LINK_LIBRARIES "-framework OpenGL")
else()
set_target_properties(GLEW::GLEW
PROPERTIES INTERFACE_LINK_LIBRARIES OpenGL::GL)
endif()
endif()
if(TARGET GLEW::glew)
if(GLEW_SHARED_LIBRARY_RELEASE)
set_property(TARGET GLEW::GLEW
APPEND
PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(GLEW::GLEW
PROPERTIES IMPORTED_LOCATION_RELEASE "${GLEW_SHARED_LIBRARY_RELEASE}")
endif()
if(GLEW_SHARED_LIBRARY_DEBUG)
set_property(TARGET GLEW::GLEW
APPEND
PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(GLEW::GLEW
PROPERTIES IMPORTED_LOCATION_DEBUG "${GLEW_SHARED_LIBRARY_DEBUG}")
endif()
elseif(TARGET GLEW::glew_s)
if(GLEW_STATIC_LIBRARY_RELEASE)
set_property(TARGET GLEW::GLEW
APPEND
PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(GLEW::GLEW
PROPERTIES IMPORTED_LOCATION_RELEASE "${GLEW_STATIC_LIBRARY_RELEASE}"
INTERFACE_COMPILE_DEFINITIONS GLEW_STATIC)
endif()
if(GLEW_STATIC_LIBRARY_DEBUG AND GLEW_USE_STATIC_LIBS)
set_property(TARGET GLEW::GLEW
APPEND
PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(GLEW::GLEW
PROPERTIES IMPORTED_LOCATION_DEBUG "${GLEW_STATIC_LIBRARY_DEBUG}"
INTERFACE_COMPILE_DEFINITIONS GLEW_STATIC)
endif()
elseif(GLEW_VERBOSE)
message(WARNING "FindGLEW: no `GLEW::glew` or `GLEW::glew_s` target was created. Something went wrong in FindGLEW target creation.")
endif()
endif()
+7
View File
@@ -131,6 +131,13 @@
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>NSLocalNetworkUsageDescription</key>
<string>OrcaSlicer uses your local network to discover and connect to printers.</string>
<key>NSBonjourServices</key>
<array>
<string>_octoprint._tcp</string>
<string>_http._tcp</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<!-- Disable App Transport Security. Resolves https://github.com/OrcaSlicer/OrcaSlicer/issues/791 -->
+7 -4
View File
@@ -1,5 +1,5 @@
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "4.0")
set(CMAKE_POLICY_VERSION_MINIMUM 3.10 CACHE STRING "" FORCE)
set(CMAKE_POLICY_VERSION_MINIMUM 3.5 CACHE STRING "" FORCE)
endif()
#
@@ -24,7 +24,7 @@ endif()
# therefore, unfortunately, the installation cannot be copied/moved elsewhere without re-installing wxWidgets.
#
cmake_minimum_required(VERSION 3.10)
cmake_minimum_required(VERSION 3.2)
if (APPLE)
# if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 12.0 (the lowest Xcode 27 accepts)
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
@@ -224,7 +224,7 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
${_source_dir_arg}
${_gen}
CMAKE_ARGS
-DCMAKE_POLICY_VERSION_MINIMUM=3.10
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
@@ -279,7 +279,7 @@ else()
${_source_dir_arg}
${_gen}
CMAKE_ARGS
-DCMAKE_POLICY_VERSION_MINIMUM=3.10
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
-DCMAKE_IGNORE_PREFIX_PATH:STRING=${CMAKE_IGNORE_PREFIX_PATH}
@@ -379,8 +379,10 @@ include(Boost/Boost.cmake)
include(Cereal/Cereal.cmake)
include(Qhull/Qhull.cmake)
include(GLEW/GLEW.cmake)
include(GLFW/GLFW.cmake)
include(OpenCSG/OpenCSG.cmake)
set(SLVS_PKG "")
if (SLIC3R_CAD)
include(SLVS/SLVS.cmake)
@@ -476,6 +478,7 @@ set(_dep_list
dep_Draco
dep_NLopt
dep_OpenVDB
dep_OpenCSG
${SLVS_PKG}
dep_OpenCV
dep_Eigen
+2
View File
@@ -1,4 +1,6 @@
orcaslicer_add_cmake_project(EXPAT
# GIT_REPOSITORY https://github.com/nigels-com/glew.git
# GIT_TAG 3a8eff7 # 2.1.0
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/expat
)
+14
View File
@@ -0,0 +1,14 @@
# We have to check for OpenGL to compile GLEW
set(OpenGL_GL_PREFERENCE "LEGACY") # to prevent a nasty warning by cmake
find_package(OpenGL QUIET REQUIRED)
orcaslicer_add_cmake_project(
GLEW
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/glew
CMAKE_ARGS
-DGLEW_USE_EGL=OFF
)
if (MSVC)
add_debug_dep(dep_GLEW)
endif ()
+44
View File
@@ -0,0 +1,44 @@
cmake_minimum_required(VERSION 3.0)
project(GLEW)
find_package(OpenGL REQUIRED)
# Allow parent project to control EGL usage.
# Default to OFF since OrcaSlicer forces GDK_BACKEND=x11 (using GLX contexts).
# GLEW must use glXGetProcAddressARB (GLX) to match wxWidgets GL canvas.
# Using EGL function loading with GLX contexts causes rendering failures.
option(GLEW_USE_EGL "Use EGL instead of GLX for OpenGL function loading" OFF)
if(GLEW_USE_EGL)
message(STATUS "Building GLEW with EGL support")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
else()
message(STATUS "Building GLEW with GLX support")
endif()
add_library(GLEW src/glew.c)
target_include_directories(GLEW PRIVATE include/)
target_link_libraries(GLEW PUBLIC OpenGL::GL)
if (NOT BUILD_SHARED_LIBS)
target_compile_definitions(GLEW PUBLIC GLEW_STATIC)
endif ()
include(GNUInstallDirs)
install(
FILES
${PROJECT_SOURCE_DIR}/include/GL/glew.h
${PROJECT_SOURCE_DIR}/include/GL/wglew.h
${PROJECT_SOURCE_DIR}/include/GL/glxew.h
${PROJECT_SOURCE_DIR}/include/GL/eglew.h
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/GL
)
install(TARGETS GLEW GLEW
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
+73
View File
@@ -0,0 +1,73 @@
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org>
Copyright (C) 2002, Lev Povalahev
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* The name of the author may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
Mesa 3-D graphics library
Version: 7.0
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright (c) 2007 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Materials.
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+251
View File
@@ -0,0 +1,251 @@
# GLEW - The OpenGL Extension Wrangler Library
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
![](http://glew.sourceforge.net/glew.png)
http://glew.sourceforge.net/
https://github.com/nigels-com/glew
[![Build Status](https://travis-ci.org/nigels-com/glew.svg?branch=master)](https://travis-ci.org/nigels-com/glew)
[![Gitter](https://badges.gitter.im/nigels-com/glew.svg)](https://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Download](https://img.shields.io/sourceforge/dm/glew.svg)](https://sourceforge.net/projects/glew/files/latest/download)
## Table of Contents
* [Downloads](#downloads)
* [Recent snapshots](#recent-snapshots)
* [Build](#build)
* [Linux and Mac](#linux-and-mac)
* [Using GNU Make](#using-gnu-make)
* [Install build tools](#install-build-tools)
* [Build](#build-1)
* [Linux EGL](#linux-egl)
* [Linux mingw-w64](#linux-mingw-w64)
* [Using cmake](#using-cmake)
* [Install build tools](#install-build-tools-1)
* [Build](#build-2)
* [Windows](#windows)
* [Visual Studio](#visual-studio)
* [MSYS/Mingw](#msysmingw)
* [MSYS2/Mingw-w64](#msys2mingw-w64)
* [glewinfo](#glewinfo)
* [Code Generation](#code-generation)
* [Authors](#authors)
* [Contributions](#contributions)
* [Copyright and Licensing](#copyright-and-licensing)
## Downloads
Current release is [2.1.0](https://sourceforge.net/projects/glew/files/glew/2.1.0/).
[(Change Log)](http://glew.sourceforge.net/log.html)
Sources available as
[ZIP](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.zip/download) or
[TGZ](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.tgz/download).
Windows binaries for [32-bit and 64-bit](https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0-win32.zip/download).
### Recent snapshots
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
[glew-20200115.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20200115.tgz/download) *GLEW 2.2.0 RC3: fixes*
[glew-20190928.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20190928.tgz/download) *GLEW 2.2.0 RC2: New extensions, bug fixes*
## Build
It is highly recommended to build from a tgz or zip release snapshot.
The code generation workflow is a complex brew of gnu make, perl and python, that works best on Linux or Mac.
The code generation is known to work on Windows using [MSYS2](https://www.msys2.org/).
For most end-users of GLEW the official releases are the best choice, with first class support.
### Linux and Mac
#### Using GNU Make
GNU make is the primary build system for GLEW, historically.
It includes targets for building the sources and headers, for maintenance purposes.
##### Install build tools
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel`
FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5`
##### Build
$ make
$ sudo make install
$ make clean
Targets: `all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall`
Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
_Note: you may need to call `make` in the **auto** folder first_
##### Linux EGL
$ sudo apt install libegl1-mesa-dev
$ make SYSTEM=linux-egl
##### Linux mingw-w64
$ sudo apt install mingw-w64
$ make SYSTEM=linux-mingw32
$ make SYSTEM=linux-mingw64
#### Using cmake
The cmake build is mostly contributer maintained.
Due to the multitude of use cases this is maintained on a _best effort_ basis.
Pull requests are welcome.
*CMake 2.8.12 or higher is required.*
##### Install build tools
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git`
##### Build
$ cd build
$ cmake ./cmake
$ make -j4
| Target | Description |
| ---------- | ----------- |
| glew | Build the glew shared library. |
| glew_s | Build the glew static library. |
| glewinfo | Build the `glewinfo` executable (requires `BUILD_UTILS` to be `ON`). |
| visualinfo | Build the `visualinfo` executable (requires `BUILD_UTILS` to be `ON`). |
| install | Install all enabled targets into `CMAKE_INSTALL_PREFIX`. |
| clean | Clean up build artifacts. |
| all | Build all enabled targets (default target). |
| Variables | Description |
| --------------- | ----------- |
| BUILD_UTILS | Build the `glewinfo` and `visualinfo` executables. |
| GLEW_REGAL | Build in Regal mode. |
| BUILD_FRAMEWORK | Build as MacOSX Framework. Setting `CMAKE_INSTALL_PREFIX` to `/Library/Frameworks` is recommended. |
### Windows
#### Visual Studio
Use the provided Visual Studio project file in build/vc15/
Projects for vc6, vc10, vc12 and vc14 are also provided
#### MSYS/Mingw
Available from [Mingw](http://www.mingw.org/)
Requirements: bash, make, gcc
$ mingw32-make
$ mingw32-make install
$ mingw32-make install.all
Alternative toolchain: `SYSTEM=mingw-win32`
#### MSYS2/Mingw-w64
Available from [Msys2](http://msys2.github.io/) and/or [Mingw-w64](http://mingw-w64.org/)
Requirements: bash, make, gcc
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
$ make
$ make install
$ make install.all
Alternative toolchain: `SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64`
## glewinfo
`glewinfo` is a command-line tool useful for inspecting the capabilities of an
OpenGL implementation and GLEW support for that. Please include `glewinfo.txt`
with bug reports, as appropriate.
---------------------------
GLEW Extension Info
---------------------------
GLEW version 2.0.0
Reporting capabilities of pixelformat 3
Running on a Intel(R) HD Graphics 3000 from Intel
OpenGL version 3.1.0 - Build 9.17.10.4229 is supported
GL_VERSION_1_1: OK
---------------
GL_VERSION_1_2: OK
---------------
glCopyTexSubImage3D: OK
glDrawRangeElements: OK
glTexImage3D: OK
glTexSubImage3D: OK
...
## Code Generation
A Unix or Mac environment is needed for building GLEW from scratch to
include new extensions, or customize the code generation. The extension
data is regenerated from the top level source directory with:
make extensions
An alternative to generating the GLEW sources from scratch is to
download a pre-generated (unsupported) snapshot:
https://sourceforge.net/projects/glew/files/glew/snapshots/
## Authors
GLEW is currently maintained by [Nigel Stewart](https://github.com/nigels-com)
with bug fixes, new OpenGL extension support and new releases.
GLEW was developed by [Milan Ikits](http://www.cs.utah.edu/~ikits/)
and [Marcelo Magallon](http://wwwvis.informatik.uni-stuttgart.de/~magallon/).
Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also
assisted with the design and debugging process.
The acronym GLEW originates from Aaron Lefohn.
Pasi K&auml;rkk&auml;inen identified and fixed several problems with
GLX and SDL. Nate Robins created the `wglinfo` utility, to
which modifications were made by Michael Wimmer.
## Contributions
GLEW welcomes community contributions. Typically these are co-ordinated
via [Issues](https://github.com/nigels-com/glew/issues) or
[Pull Requests](https://github.com/nigels-com/glew/pulls) in the
GitHub web interface.
Be sure to mention platform and compiler toolchain details when filing
a bug report. The output of `glewinfo` can be quite useful for discussion
also.
Generally GLEW is usually released once a year, around the time of the Siggraph
computer graphics conference. If you're not using the current release
version of GLEW, be sure to check if the issue or bug is fixed there.
## Copyright and Licensing
GLEW is originally derived from the EXTGL project by Lev Povalahev.
The source code is licensed under the
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
[Mesa 3-D License](http://glew.sourceforge.net/mesa.txt) (MIT) and the
[Khronos License](http://glew.sourceforge.net/khronos.txt) (MIT).
The automatic code generation scripts are released under the
[GNU GPL](http://glew.sourceforge.net/gpl.txt).
+1
View File
@@ -0,0 +1 @@
2.2.0
+3051
View File
File diff suppressed because it is too large Load Diff
+26427
View File
File diff suppressed because it is too large Load Diff
+1831
View File
File diff suppressed because it is too large Load Diff
+1468
View File
File diff suppressed because it is too large Load Diff
+31949
View File
File diff suppressed because it is too large Load Diff
@@ -1,28 +0,0 @@
diff --git a/src/ModelingAlgorithms/TKMesh/BRepMesh/BRepMesh_ModelPreProcessor.cxx b/src/ModelingAlgorithms/TKMesh/BRepMesh/BRepMesh_ModelPreProcessor.cxx
index 6f63781..9b1c08e 100644
--- a/src/ModelingAlgorithms/TKMesh/BRepMesh/BRepMesh_ModelPreProcessor.cxx
+++ b/src/ModelingAlgorithms/TKMesh/BRepMesh/BRepMesh_ModelPreProcessor.cxx
@@ -210,10 +210,10 @@ private:
// Define two pcurves of the seam-edge.
occ::handle<Geom2d_Curve> aPC1, aPC2;
- double af, al;
+ double af, al, af1, al1;
aE.Orientation(TopAbs_FORWARD);
- aPC1 = BRep_Tool::CurveOnSurface(aE, aF, af, al);
+ aPC1 = BRep_Tool::CurveOnSurface(aE, aF, af1, al1);
aE.Orientation(TopAbs_REVERSED);
aPC2 = BRep_Tool::CurveOnSurface(aE, aF, af, al);
@@ -224,7 +224,9 @@ private:
}
// Select the correct pcurve of the seam-edge.
- const gp_Pnt2d& aFPntOfPC1 = aPC1->Value(aPC1->FirstParameter());
+ // Use the edge's first parameter. A Geom2d_Line's FirstParameter() is -Precision::Infinite(),
+ // where a direction of (2e-16, -1) from rounding error gives an X far outside the U range.
+ const gp_Pnt2d aFPntOfPC1 = aPC1->Value(af1);
if (std::abs(aLPntOfIPC1.X() - aFPntOfPC1.X()) > Precision::Confusion())
{
-7
View File
@@ -25,16 +25,9 @@ endif()
# shipped bytes. Windows ships only the DLLs libslic3r links, so the tab adds the TKFillet,
# TKOffset and TKBool DLLs. See docs/HLSD/design-tab.md.
if (IN_GIT_REPO)
set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT)
endif ()
orcaslicer_add_cmake_project(OCCT
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V8_0_1.zip
URL_HASH SHA256=7c033d917ee8f040c0512d289dcc5f02c148889d5bac17c3e25639accb44f0da
# Makes BRepMesh triangulate cone faces whose seam pcurve is slightly tilted
# (Open-Cascade-SAS/OCCT#572); remove the patch once an OCCT release includes the fix.
PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-BRepMesh-seam-pcurve-at-edge-parameter.patch
#DEPENDS dep_Boost
DEPENDS ${FREETYPE_PKG}
CMAKE_ARGS
+101
View File
@@ -0,0 +1,101 @@
cmake_minimum_required(VERSION 3.0)
project(OpenCSG)
if (NOT BUILD_SHARED_LIBS)
set(GLEW_USE_STATIC_LIBS ON)
elseif (MSVC)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
find_package(OpenGL REQUIRED)
set(GLEW_VERBOSE ON)
find_package(GLEW 1.13.0 REQUIRED)
set(_srcfiles
src/area.cpp
src/batch.cpp
src/context.cpp
src/channelManager.cpp
src/frameBufferObject.cpp
src/frameBufferObjectExt.cpp
src/occlusionQuery.cpp
src/opencsgRender.cpp
src/openglHelper.cpp
src/pBufferTexture.cpp
src/primitive.cpp
src/primitiveHelper.cpp
src/renderGoldfeather.cpp
src/renderSCS.cpp
src/scissorMemo.cpp
src/settings.cpp
src/stencilManager.cpp
RenderTexture/RenderTexture.cpp
include/opencsg.h
src/opencsgConfig.h
src/area.h
src/batch.h
src/context.h
src/channelManager.h
src/frameBufferObject.h
src/frameBufferObjectExt.h
src/occlusionQuery.h
src/offscreenBuffer.h
src/opencsgRender.h
src/openglHelper.h
src/pBufferTexture.h
src/primitiveHelper.h
src/scissorMemo.h
src/settings.h
src/stencilManager.h
)
add_library(opencsg ${_srcfiles})
target_include_directories(opencsg PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
target_include_directories(opencsg PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>)
target_link_libraries(opencsg PRIVATE GLEW::GLEW OpenGL::GL)
include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
VERSION 1.4.2
COMPATIBILITY AnyNewerVersion
)
install(TARGETS opencsg
EXPORT ${PROJECT_NAME}Targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
export(EXPORT ${PROJECT_NAME}Targets
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
NAMESPACE ${PROJECT_NAME}:: )
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
install(EXPORT ${PROJECT_NAME}Targets
FILE
"${PROJECT_NAME}Config.cmake"
NAMESPACE
${PROJECT_NAME}::
DESTINATION
${ConfigPackageLocation}
)
install(
FILES
${PROJECT_SOURCE_DIR}/include/opencsg.h
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/opencsg
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION
${ConfigPackageLocation}
)
+17
View File
@@ -0,0 +1,17 @@
orcaslicer_add_cmake_project(OpenCSG
# GIT_REPOSITORY https://github.com/floriankirsch/OpenCSG.git
# GIT_TAG 83e274457b46c9ad11a4ee599203250b1618f3b9 #v1.4.2
URL https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip
URL_HASH SHA256=51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in ./CMakeLists.txt
DEPENDS dep_GLEW
)
if (TARGET ${ZLIB_PKG})
add_dependencies(dep_OpenCSG ${ZLIB_PKG})
endif()
if (MSVC)
add_debug_dep(dep_OpenCSG)
endif ()
-29
View File
@@ -44,18 +44,6 @@ else()
if(APPLE)
set(_conf_cmd export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} && ./Configure -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET})
else()
# A static library that is embedded into a shared object must not export
# its symbols. On Linux the running process also loads the system OpenSSL
# 3.x (WebKitGTK/gnutls pull in libcrypto.so.3), and CPython's _ssl and
# _hashlib are dlopened (RTLD_LOCAL) DSOs that each embed this OpenSSL.
# With default visibility their unversioned OpenSSL references are
# preempted by that global 3.x copy, mixing the 1.1.1 and 3.x ABIs and
# corrupting the heap (ssl.create_default_context() aborts). Hidden
# visibility makes each embedded copy self-contained. Linux-only: macOS
# binds dylibs with a two-level namespace (no interposition) and ships no
# OpenSSL, and Windows has no equivalent flag and no system OpenSSL to
# collide with.
set(_openssl_extra_cflags -fvisibility=hidden)
set(_conf_cmd env "CC=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}" "./config")
endif()
set(_cross_comp_prefix_line "")
@@ -114,20 +102,3 @@ ExternalProject_Add_Step(dep_OpenSSL install_cmake_files
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
)
if (NOT WIN32 AND NOT APPLE)
# OpenSSL's object rules do not depend on CFLAGS, so reconfiguring it (for
# example to add -fvisibility=hidden) relinks the archives from stale
# objects instead of recompiling them, and the change silently has no
# effect. Drop the objects whenever this recipe changes so the next build
# actually recompiles them.
ExternalProject_Get_Property(dep_OpenSSL SOURCE_DIR)
ExternalProject_Add_Step(dep_OpenSSL clean_objects
DEPENDEES configure
DEPENDERS build
COMMAND make clean
WORKING_DIRECTORY "${SOURCE_DIR}"
DEPENDS "${CMAKE_CURRENT_LIST_FILE}"
COMMENT "OpenSSL: cleaning objects after a recipe change"
)
endif ()
-24
View File
@@ -299,27 +299,3 @@ endif()
if(TARGET dep_ZLIB)
add_dependencies(dep_python3 dep_ZLIB)
endif()
if (NOT WIN32 AND NOT APPLE)
# CPython's Makefile rules for _ssl and _hashlib depend only on their own
# sources, not on the OpenSSL archives, so a rebuilt OpenSSL does not make
# them relink and they keep the previous symbols. On an incremental tree,
# drop the built modules and relink them against the current OpenSSL; a
# fresh build is left alone (its PGO target builds them). "make" alone is a
# no-op once PGO has run, so sharedmods is invoked explicitly.
ExternalProject_Get_Property(dep_python3 SOURCE_DIR)
file(GLOB _python_ssl_modules
"${SOURCE_DIR}/Modules/_ssl*.so"
"${SOURCE_DIR}/Modules/_hashlib*.so")
if (_python_ssl_modules)
ExternalProject_Add_Step(dep_python3 relink_ssl_extensions
DEPENDEES configure
DEPENDERS build
COMMAND sh -c "rm -f '${SOURCE_DIR}'/Modules/_ssl*.so '${SOURCE_DIR}'/Modules/_hashlib*.so && make -j${NPROC} sharedmods"
WORKING_DIRECTORY "${SOURCE_DIR}"
COMMENT "CPython: relinking _ssl/_hashlib against the current OpenSSL"
DEPENDS "${CMAKE_CURRENT_LIST_FILE}"
"${CMAKE_CURRENT_LIST_DIR}/../OpenSSL/OpenSSL.cmake"
)
endif ()
endif ()
@@ -88,18 +88,6 @@ struct NfpPConfig {
*/
bool explore_holes = false;
/**
* @brief Keep the final pile on the bin.
*
* The final alignment centres the pile on the alignment target. A target
* near an edge (a belt printer starts its parts at the leading end of the
* belt) would push part of a pile that is larger than the room around that
* point off the bed; with this set the pile stops at the edge instead, and a
* pile that does not fit along an axis is centred on it. Off by default, so
* the alignment of every other printer is unchanged.
*/
bool clamp_to_bin = false;
/**
* @brief If true, use all CPUs available. Run on a single core otherwise.
*/
@@ -1123,24 +1111,7 @@ private:
default: ; // DONT_ALIGN
}
auto d = cb - ci;
// Keep the pile on the bin (see Config::clamp_to_bin). The items' boxes carry
// their inflation, which is the margin left at the edge.
if (config_.clamp_to_bin) {
auto on_bin = [](Coord lo, Coord hi, Coord bin_lo, Coord bin_hi, Coord shift) {
if (hi - lo >= bin_hi - bin_lo)
return (bin_lo + bin_hi) / 2 - (lo + hi) / 2;
if (lo + shift < bin_lo)
shift = bin_lo - lo;
if (hi + shift > bin_hi)
shift = bin_hi - hi;
return shift;
};
setX(d, on_bin(getX(bb.minCorner()), getX(bb.maxCorner()), getX(bbin.minCorner()), getX(bbin.maxCorner()), getX(d)));
setY(d, on_bin(getY(bb.minCorner()), getY(bb.maxCorner()), getY(bbin.minCorner()), getY(bbin.maxCorner()), getY(d)));
cb = ci + d;
}
auto d = cb - ci;
// BBS make sure the item won't clash with excluded regions
// do we have wipe tower after arranging?
+1 -1
View File
@@ -191,7 +191,7 @@ public:
tail->next = std::move(p);
tail = new_tail;
}
disrupt_wait_for_data();
data_cond.notify_one();
}
void wait_and_pop(T& value)
-221
View File
@@ -1,221 +0,0 @@
# Adaptive TPMS infill — High Level Design
## Purpose and scope
`tpms_adaptive` grades the sparse infill of the Gyroid, TPMS-D and TPMS-FK
patterns inside the object: the cells grow continuously from the surface
towards the center of the object. `distance_warp`, `smooth_blend` and
`stepped_shells` follow the distance to the nearest surface, including the top
and bottom, like concentric shells; `lobes` follows the whole 3D shape towards
the center of each lobe of the object; `normal_z`, `normal_y` and `normal_x`
follow each section of the object normal to that axis, so the grading does not
change along the axis, as suits a profile extruded along it.
`sparse_infill_density` is the density at the surface, `tpms_interior_density`
the density at the center, and `tpms_adaptive_gradient` picks how the density
goes from one to the other. Only internal sparse infill is graded; the Gyroid
Z-buckling optimization does not apply to it.
The design has two parts: a field built once per object, and a pattern made
from it, warped around the center of each lobe of a body so that its cell size
follows the field, or, in the modes following the distance to the surface,
split into shells or blended between densities.
## Radial field
`TpmsRadialField` gives every point of an object the center of its lobe and a
radial coordinate: 0 at the center, 1 at the surface along the ray from the
center. `PrintObject::prepare_tpms_radial_fields()` builds it in
`bridge_over_infill()`, next to the adaptive cubic octree, because the anchoring
infill generated there has to match the printed infill. A field is built for
every mode a region uses, and is shared by the regions using that mode: the
field depends on the geometry only, the densities are applied per region in the
fill. An object thinner than the grid cells has no body in the field; no field
is kept then, and the infill falls back to the regular pattern. In the modes
following the distance to the surface, the field also gives the depth of every
point (see below).
A regular 3D grid of cubic cells is rasterized from the `lslices` of the layers,
so the field follows what is printed: negative volumes, the union of
overlapping parts and holes are taken into account, and the mesh does not need
to be closed. A padding node around the grid is always outside. The grid is
capped at about a million nodes, with cells no smaller than 0.5 mm.
- Bodies are the connected inside nodes. Each is graded on its own, so separate
parts of one object each get their own sparse center.
- A body is split into lobes around the local maxima of the depth, by an exact
Euclidean distance transform (Felzenszwalb and Huttenlocher, one pass per
axis). Two maxima are in separate lobes when the depth along the segment
between them drops below 0.8 of the shallower one, like at the neck between
two united spheres; maxima shallower than 0.3 of the deepest one are ignored.
A maximum joins the first lobe whose first maximum it sees without a neck.
The lobes are made one at a time, the remaining maxima tested against the
first one in parallel, as a plate has a whole plane of them.
Where the depth ties along a line or a plane, as in a tall box, the lobe's
center is the node nearest to the middle of the tied nodes, so the center is
in the middle of the height and not a column.
- A point belongs to the lobe it is nearest to relative to their depths, so the
side between two lobes is nearer to the smaller one. Near that side, within a
tenth of that relative distance, the patterns of the lobes morph into each
other, so the lines stay continuous. Every lobe in that range takes part, up
to four, so the morph is also continuous where three or four lobes meet.
- The reach of a lobe is the distance from its center to the first exit along
24 x 48 latitude-longitude directions, smoothed twice over neighbouring
directions in log space. Towards a neighbouring lobe it stops at twice the
distance to the side between them, so that side is graded half way, as deep
as a neck is, rather than as sparse as the center or as dense as the surface.
Only the lobes whose centers are near enough to be nearer at the current
distance are compared along a ray, so many lobes, as in a perforated plate,
stay cheap.
The radial coordinate of a point is its distance to the center over the reach
in its direction. Behind a gap, as across the hole
of a ring, the radial coordinate is above 1 and the infill keeps the surface
density.
- Every outside node belongs to its nearest body, so points near a surface find
their body without a search. With a single body, all nodes belong to it.
In the 2D modes, every plane of nodes normal to the axis is a field of its own:
the distance transform skips the axis, bodies, lobes and the nearest body are
found within the plane, and the reach is sampled on a circle of 48 directions.
A point is looked up in the two planes around it, the weights of their lobes
interpolated along the axis, so the grading does not step between planes; a
plane without a body uses the nearest one that has one. The planes are a cell
apart, not a layer: where the sections change abruptly, as at a step, the
patterns of the two planes morph into each other over that cell.
A distance to the nearest surface would be the obvious field, but no smooth map
follows it. By the divergence theorem, the mean scale of a map over a body is
fixed by its values on the surface: a map that keeps the full density along the
whole surface, as the distance would ask under the top and bottom, has the mean
density of the uniform infill, the sparser core being paid for by lines crowding
along the walls. The layers of a plate at different depths would also need
different line spacings in the same directions, which no continuous map allows
without shearing across the plate. Following the distance needs changes of the
topology of the lattice (see below). The radial coordinate instead grades what a
single map can: towards one point.
## Warped pattern
The pattern is evaluated on warped coordinates:
TPMS(f_surface * m(t) * (p - center))
where `m` scales the pattern around the center of the lobe: its frequency is
`m + t * m'` along the ray and `m` across it. `m(t)` is the mean of the target
scale over the ball of radius `t`, `3 / t^3 * integral of s^2 * target(s) ds`, so
the mean of the three, and with it the density, follows the gradient. The cells
are round at the center; near the surface they are flattened, with the lines
running parallel to it. Beyond the surface the target is the surface scale, so
the warp extends continuously outside.
In the 2D modes only the coordinates within the plane are warped, and `m(t)` is
the mean over the disc, `2 / t^2 * integral of s * target(s) ds`. Along the axis
the pattern keeps the interior frequency: scaling it with `m` would shear the
pattern by the distance along the axis times the gradient of `m`, without bound
on a long object. The cells are round at the center and stretched along the
axis near the surface. With Normal Z the layers are graded exactly, since
the lines of a layer follow its in-plane frequencies; normal to X or Y, the
layers near the sides are as dense as the larger of the two frequencies in the
layer, which is the surface one.
Evaluating a TPMS at a frequency that varies with the position without such a
map distorts it wherever the frequency changes, because the phase also changes
with the gradient of the frequency times the distance from the origin. Fitting a
smooth map to a varying isotropic scale in the least-squares sense (a Poisson
problem per axis) cannot grade strongly: its divergence is the target scale plus
a harmonic function pinned by the surface, which keeps the scale in the core
near two thirds of the surface one. Following a distance exactly needs the
lattice to change its topology, by blending lattices of different densities or
filling shells of equal distance with them, as the modes following the distance
to the surface do.
The target scale at depth `d = 1 - t`, with `S` the surface and `I` the interior
frequency, both from each pattern's own density calibration:
| Gradient | Scale |
|-------------|------------------------|
| Linear | `1 + (I / S - 1) * d` |
| Quadratic | `1 + (I / S - 1) * d^2`|
| Exponential | `(I / S)^d` |
With a denser surface, quadratic keeps the surface density deepest and
exponential drops fastest. A denser interior works the same way.
The zero level is extracted with marching squares like the regular TPMS-FK, on
a sampling grid fixed in the fill frame like the optimized Gyroid, so that every
region of a layer connects its lines the same way at the saddles of the pattern.
Loops narrower than two lines (shorter than `2 * PI * spacing`) are dropped, as
they would print as blobs. The fill works in a frame rotated by the infill
angle, so the radial field is looked up at the point rotated back into the
object frame, and the center rotated into the fill frame. Both use the middle of
the layer.
## Modes following the distance to the surface
`distance_warp`, `smooth_blend` and `stepped_shells` grade by the distance to
the nearest surface, including the top and bottom, as concentric shells do. The
depth of a point is that distance over the distance of the deepest point of its
body, from 0 at the surface to 1; the field keeps it for every node and
interpolates it between them. A tall box so keeps its whole axis as sparse as
its center, and a plate is graded through its thickness.
No single smooth pattern follows that depth without distortion (see above), so
the three modes trade differently:
- Distance warp keeps the lobes and the warp of Lobes, but its radial profile
comes from the depth. For every direction of a lobe, the mean depth over the
ball along the ray is sampled at 33 radii up to the reach, then smoothed over
the neighbouring directions like the reach. The radial coordinate is the one
of the linear profile with the same mean depth, `t = 4/3 * (1 - mean depth)`,
so with a linear gradient the mean cell size follows the depth exactly, and
with the others approximately. In a sphere or a cube, where the depth falls
linearly along every ray, it is Lobes. Elsewhere the profile changes with the
direction, and the warp shears where neighbouring directions differ, as in
plates and long bodies; right under the top of a long body the cells are
sparser within the layer, the warp moving their density into the height.
The profiles are smoothed over the directions like the reach, as sharper
ones shear the pattern across the layer, which adds lines. A long body is so
graded partly along its length, between Lobes and the distance.
- Smooth blend evaluates the regular patterns of the two levels around the
target of every point and blends them by a smoothstep over the whole gap
between the levels, here at most 2.5 times apart. The density follows the
depth without steps, but where two lattices blend, part of their lines run
along the blend, so fewer levels print fewer extra lines. From 25% to 5%,
three levels print about 0.45 of the uniform infill in a deep core whose
levels alone would print 0.3; levels 1.5 times apart print 0.6 to 0.7, and a
single blend from the surface to the interior 0.6.
- Stepped shells split each region of a layer into shells and fill every shell
with the regular pattern at its density. The densities are levels from the
surface to the interior density at most 1.5 times apart, five from 25% to 5%,
and a point takes the level nearest to its target on that geometric scale.
The shells are traced by marching squares of the continuous level over the
layer on a 0.5 mm grid fixed in the object, so every region of a layer gets
the same shells, and clipped to the region. Each shell is shrunk by half a
line, like a filled region, and its regular filler connects its lines along
that boundary, so the connections of two neighbouring shells lie side by side
instead of on top of each other. The pattern is never
distorted, but its lines end at every shell, and thin parts get thin shells.
The connections add lines: in the core of a 60 mm cube, about a third more
than the target.
Stepped shells and Smooth blend need neither lobes nor reaches, which are not
built for them.
## Constraints
- With `tpms_adaptive` disabled, or for other patterns, the fill parameters are reset
to their defaults, so they neither change the infill nor split fill batches.
- `Layer::get_sparse_infill_max_void_area()` uses the sparser of the two
densities, as the voids at the center are that large.
- At a sparse infill density of 100% the sparse infill is turned into solid
infill, so there is nothing to grade: the options are hidden and no field is
built.
- The adaptive options invalidate `posPrepareInfill`, which rebuilds the field
and the anchoring infill.
- An elongated body without a neck has one center, so its far ends are graded
as the outer part of the body, and the warp shears where the reach changes
quickly with the direction. A concave body, like an L, may be split into lobes
where its maxima cannot see each other in a straight line.
- Across a ray, the scale is the mean of the gradient from the center, so the
layers right under the top and above the bottom are sparser than the surface
density in their middle, and a plate is graded from its middle outwards rather
than through its thickness.
-172
View File
@@ -1,172 +0,0 @@
# Center of mass markers — High Level Design
## Purpose and scope
The "Center of mass" item of the canvas toolbar menu, in the bottom left corner of the 3D view, marks
where the mass of the plate, of each object instance and of each body of an assembly is centered,
in Prepare and in Preview. It helps judge how parts will rest on the plate, for instance whether a
tall or leaning part could tip. It is a view setting: it changes nothing in the model, the slice or
the project file, and it does not reach plate thumbnails. The choice is kept in the app config as
`show_center_of_mass`, off by default. The assembly view and the Design tab have no markers.
Three kinds of marker share one shape, a sphere whose octants alternate between two colors:
- each plate, black and white, for everything on it;
- each object instance, light blue and white;
- each body of an assembly, red and yellow;
- in Preview, the supports and raft of each object instance, green and black.
A click on a marker opens a box beside it with the weight and volume of what it stands for, where its
center lies in that thing's bounding box and the size of the box, and its moments of inertia about
axes through the center parallel to x, y and z.
An assembly is an object of several parts or with negative volumes. Its bodies are the connected
solids its parts make once united, the bodies the separated infills option centers its infill on
(see separated-infills.md): parts that overlap or touch are one body, parts apart are separate
bodies. An object of one body, and every object of a single part, has no body markers, as its object
marker says it all.
Mass is volume times density, the `filament_density` of the filament that prints it, or 1.245 g/cm³
(`DEFAULT_FILAMENT_DENSITY`) for a filament without one. Prepare has the model only, so it takes each
part as a solid of the density of its filament, the part's own or else its object's. It reads each
filament's density from the filament's selected preset, edits not yet saved included, as slicing does:
the plater's own config holds the values of the filament edited last only. Preview has
what will be printed, so its markers come from the toolpaths, whose mass depends on walls, infill
and flow as well. There the solid markers are for what is printed up to the top layer the layer
slider shows: for the plate with brim, raft and supports, where the weight rests at that point of
the print; for an object or a body, its own extrusions. Each has a faded twin for the same at the
end of the print, so the slider shows the weight moving toward where it ends, and at the top layer
the two meet. In Prepare the plate has the model alone, as brim, raft and supports exist only once
sliced.
## Prepare: from the meshes
An object of one part takes the mass properties of its mesh at unit density, times its density, from
`its_mass_properties()`, which handles a mesh in a single pass. Each triangle and a fixed vertex of
the mesh span a tetrahedron whose signed volume is `V = a · (b × c) / 6`, with `a`, `b`, `c` taken
relative to that vertex. By the divergence theorem these volumes add up to the volume of a closed
mesh, their volume-weighted centroids to its center of mass, and their second moments
`V (a aᵀ + b bᵀ + c cᵀ + s sᵀ) / 20`, with `s = a + b + c`, to its own. Shells facing inward, such as
a cavity, subtract themselves, and flipping every triangle changes nothing. The sums are kept in
double precision and relative to a vertex of the mesh rather than the origin, which keeps them exact
for meshes far from it. The result keeps the spread of the mass about its center,
`(x - c)(x - c)ᵀ` averaged over the mass, from which the moments of inertia follow.
The CGAL routines that look alike do not compute this. `CGAL::centroid` weighs tetrahedra by their
unsigned volume, so it fails on cavities and on any shell that is not star-shaped from the fan's
apex; over triangles it returns the centroid of the surface, and over points the average of the
vertices, which depends on the tessellation. `CGAL::barycenter` with the signed volumes as weights
gives the same answer, but only after copying every tetrahedron into a vector of weighted points,
and takes two and a half times as long.
A mesh's result is in its own coordinates. Each `GLVolume` maps it to the world with its world
matrix `M`, and weighs it by the volume times the absolute determinant of that matrix: a center of
mass moves with any affine map, and the spread becomes `L S Lᵀ` for the linear part `L` of `M`, so no
mesh is ever transformed. The `GLVolume`'s matrices, rather than the
model's, let the markers follow an object while it is dragged, before the model is updated. Results
are cached by `ModelVolume` id; a `ModelVolume` takes a new id whenever its mesh changes, which is
the rule `reload_scene()` relies on to rebuild a `GLVolume`'s geometry, so a cached result never
outlives its mesh.
An assembly's parts overlap or touch, which the mesh formula would count twice, so `solid_bodies()`
slices them instead, in the object's coordinates. It cuts the height into 500 slabs, 100 while a part
is dragged, slices every part and negative volume at the middle of each slab, unites the parts and
cuts the negative volumes away, and links the islands of neighboring slabs that overlap into bodies
with `connected_bodies()`. Each island adds a prism of the slab's thickness at the density: its
area, and its first and second moments of area, from the same sums over the outline as the area,
with the slab's height for z. Where parts of different densities overlap, the later volume of the object counts, as
slicing clips every part by the parts after it; each part then weighs the region it prints, which is
credited to the island holding it. Each body also keeps the convex hull of its islands and the height
they span, whose corners, once transformed, give its bounding box, tight while the instance turns
about z only. The object is the sum of its bodies, its box that of its parts, as the object's size
shows it, and each plate the sum of the object instances `PartPlateList::find_instance()` puts on it,
so that an instance on no plate counts in none. The bodies are cached by `ModelObject` id with the volumes, types, densities and
transformations they were sliced from.
## Preview: from the toolpaths
`GCodeProcessor` sums the masses while it processes the G-code, in the same pass that builds the
moves, and leaves them in `GCodeProcessorResult`; `GCodeViewer` keeps a copy of them when it loads a
result. Nothing is stored per move.
Each extrusion weighs the volume of filament its E extrudes times the density of the filament that
extrudes it, so a print of several materials weighs each as it is. Flow ratio, line widths, ironing
and purging into infill all count
as printed. Its mass spreads evenly along the segment the bead's center runs, half the layer height
below the nozzle, in the frame of the stored moves: plate offset added, Z offset removed. Such a
segment from `a` to `b` adds `m (a + b) / 2` to the moments and `m (a² + a b + b²) / 3` to the second
moments along each axis, and its box widened by half the bead's height to the bounding box; not by
half its width, which the processor only estimates, so that a box runs along the walls' center lines. Arcs are already split into segments by the processor. Walls, infill, top and bottom surfaces, ironing
and gap fill make the parts. The brim and the support roles, the raft among them, count only in what
the plate prints. The skirt, the prime tower and custom G-code count nowhere.
The plate takes every extrusion, so it needs nothing more. The objects and bodies need the sliced
objects, which the G-code does not describe, so the G-code export hands the processor a locator
built from the `Print`; G-code opened from a file, or from a project sliced earlier, has no `Print`
behind it, and so shows the plate alone. Object labels would not do: profiles turn the four kinds
Orca writes on and off in every combination, and none of them tells the bodies apart.
The locator numbers the object instances and, for each assembly, the bodies of every instance. It
takes the bodies `PrintObject::prepare_infill()` found for separated infills, or, when that option
did not need them, links the islands (`Layer::lslices`) of neighboring layers into bodies with the
same `connected_bodies()`. For each extrusion of a part, it finds the first layer printed at or above
its height, as spiral vase rises through each layer, and the island holding it with an
`IslandLocator`, the one `solid_bodies()` credits its regions with: by the island's box, widened by
1 mm for walls reaching past it, with a polygon test only where boxes overlap, and the nearest
outline where none holds the point. The boxes of one layer's islands say nothing of the other
instances, so an instance whose widened box reaches another's, as copies placed side by side do,
tests the outlines alone, and outside them the nearest outline of all such instances wins. The island
gives both the instance and the body. The island found last is tried first, as extrusions mostly follow each other on one
island. Brim, raft and supports lie outside the islands. The brim counts in the plate only; a support
or raft extrusion goes to the instance whose footprint, the box of its widened islands, holds it, the
one whose center is nearest among several, or else the nearest footprint, as supports stand below and
around their object.
Each mass holds, for each layer id, the running total of what is printed up to that layer, the last
of which is the faded marker's, so the solid marker for any slider position is a single lookup. The layer ids are those
the moves carry, which are also the layers of libvgcode and of the slider; in a print by object they
follow the order of printing, so the solid markers show the objects printed so far as they are.
## Drawing
`smooth_sphere()` with a resolution divisible by four leaves every triangle within one octant, so it
splits into two models drawn with the `gouraud_light` shader in each kind's two colors. The radius is
9 pixels for the plate, 7 for the objects, 6 for the supports and 5 for the bodies, scaled like the canvas toolbar for the
display's DPI and kept constant on screen through the camera's inverse zoom. They are drawn in that
order, so that markers at one place show as rings. The faded markers are the same spheres at 40%
opacity, drawn before all the solid ones, which show over them where both meet.
The centers usually lie inside the objects, so the markers are drawn without the depth test and show
through the objects and anything in front of them. Back face culling keeps the far half of a sphere
from covering the near one. They are drawn after the ambient occlusion pass, which would otherwise
darken them as the surface behind them, and before FXAA, which smooths their edges.
The markers are part of the cached scene, so toggling them, or changing a filament's density while
they are shown, marks the scene dirty, and moving the layer slider redraws the scene with the solid
markers where they belong. In Prepare they are hidden while any gizmo other than Move, Rotate, Scale
and Lay on face is open, since the others work on the surface a marker would cover, and a hidden
object has no markers.
## Details
The markers drawn last are kept, and a left click is tested against them before it selects: each
center and a point a radius to its right are projected to the screen, and the click hits a marker
within that distance. The solid markers are tested before the faded ones and the smaller kinds
before the larger, the order in which they cover each other. A hit opens the details of that marker
and keeps the click from changing the selection; a click anywhere else closes them. The box is an
ImGui window beside the marker, redrawn with the overlay from the markers of the last scene, so it
follows a dragged object, and in Preview the layer slider. It closes when its marker is gone, or when
the number of markers of its kind changes, as then it may stand for something else.
Its title says what the marker stands for: the plate, an object, an assembly or a part, the body of
an assembly. The G-code export lists the object instances for the processor, marking assemblies, as
it hands it the locator.
Each marker carries its sums: mass, volume, first moments and the second moments about the origin
along each axis, `Σ m x²`, `Σ m y²` and `Σ m z²`, which add up from parts to objects to plates. The
moment of inertia about the axis through the center parallel to x is then
`m (σy² + σz²)`, with `σ² = Σ m x² / m - c²` along each axis, and likewise for y and z. Masses are
kept in mg, volume times density in g/cm³, and shown in g, volumes in cm³ and moments of inertia in
g·mm². In Preview the box tells the finished print from what is printed up to the layer shown, the
two weighing differently, and both are placed in the bounding box of everything the marker holds
by the end.
-97
View File
@@ -1,97 +0,0 @@
# Separated infills — High Level Design
## Purpose and scope
An object's infill patterns are laid out from one reference point, the center
of the object. When an object groups several parts that do not touch, every
part cuts the same object-wide pattern at a different place, so equal parts get
different infill. `separated_infills` lays the infill of every connected body
out from the center of that body instead, as if the body were sliced on its own.
The option covers sparse infill, internal solid infill and bridges. Top and
bottom surfaces are left to `center_of_surface_pattern`, which centers the
Archimedean Chords and Octagram Spiral surface patterns. The option is off by
default; with it off, or for an object made of a single body, no fill changes.
Adaptive Cubic and Support Cubic do not depend on the option: they always fill
each body on its own (see Octree infill).
## Bodies
`PrintObject::prepare_infill()` groups the islands of every layer (`lslices`)
into 3D connected bodies with `connected_bodies()` before bridges are detected,
so bridge anchors and printed infill share one origin. Islands on adjacent layers belong to one body
when their slices overlap. Parts that touch or overlap form one body. Separate
parts, disconnected islands of one mesh, and interleaved parts that never touch,
such as chain links, each form their own. Every island stores the index of its
body in `Layer::lslices_separated_component_ids`, and
`PrintObject::separated_body_bboxes()` holds the bounding box of each body over
all its layers.
The pass runs when a region uses separated infills, per-model surface centering
or an octree infill pattern. It is skipped when the object has one model part
that cannot be split, since a single body already shares the object center.
## Centering a fill
`infill_body()` matches each fill region to the island it overlaps most, among
the islands whose bounding boxes overlap it, and the filler takes the bounding
box of that island's body instead of the object's. The box covers every layer
of the body, which is the box the body gets when sliced alone, so patterns that
depend on its extent as well as its center come out the same too. Bridge
anchoring (`Layer::generate_sparse_infill_polylines_for_anchoring()`) makes the
same choice, so the anchors match the printed infill.
The patterns follow the body's box in one of two ways:
- Rectilinear and its variants, Line, Grid, Triangles, Tri-hexagon, Cubic,
Quarter Cubic, Lateral Lattice, Lateral Honeycomb and the plane-path patterns
(Hilbert Curve, Archimedean Chords, Octagram Spiral) are laid out from the
box: they phase their lines through its center, and Hilbert Curve and the Zig
Zag links start from its corner. `Fill::extended_object_bounding_box()`
extends the box about its center, so it also serves a box that is not
centered on the origin.
- Honeycomb, 3D Honeycomb, Cross Hatch, Gyroid, TPMS-D and TPMS-FK are laid out
from the coordinate origin, which is the object center. They return true from
`Fill::aligned_to_origin()`, and `Fill::fill_surface()` moves each region so
that the box center lands on the origin, fills it, and moves the paths back.
With the default box the center is the origin, so nothing moves.
`is_separable_infill_pattern()` lists these patterns. The settings show the
option only when the sparse infill pattern is one of them.
## Octree infill
Adaptive Cubic and Support Cubic take their lines from an octree, laid out from
the center of the mesh it is built from and refined near its surfaces. An
octree of the whole object would lay every part out from the object's center
and refine it near the other parts, so these patterns
(`is_octree_infill_pattern()`) always fill each body on its own, and the
settings hide the option for them.
For an object of several bodies, `PrintObject::prepare_adaptive_infill_data()`
builds one octree per body (`FillAdaptive::Octrees`) from the triangles of that
body only, which is the octree the body gets when sliced alone. Each connected
component of the mesh goes to the body that most of a few sampled triangles lie
on. A sample is taken a layer height inside the solid, behind the triangle, and
looked up in the islands of the nearest layer. Each internal bridge surface goes
to the body of its island. The fill takes the octree of the region's body, from
the same `infill_body()`. The octree of the whole object is built only for an
object of a single body, or when some body received no triangles, which then
uses it.
The line spacing of an octree comes from the density, line width and multiline
count of a region, so a modifier or a part with its own density needs octrees of
its own. `adaptive_fill_line_spacing()` gives the spacing of each region, and
`FillAdaptive::RegionOctrees` holds one set of octrees per distinct spacing,
shared by the regions that have it. A set is built only for the bodies its
regions fill. The fill takes the set of its region, then the octree of its body.
## Patterns left out
Lightning grows its trees over the whole object, so moving a reference point
cannot center it on one body. Concentric and Spiral Inset follow the outline of
each region and need no centering.
Solid infill at full density spaces its lines over the extent of each region,
so it is already independent of the other bodies. Only bridges, which keep
their line spacing, and the plane-path solid patterns depend on the center.
+30 -161
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -4046,6 +4046,9 @@ msgstr ""
msgid "You need to select the material type and color first."
msgstr ""
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, possible-c-format, possible-boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr ""
@@ -5779,7 +5782,7 @@ msgstr ""
msgid "Size:"
msgstr ""
#, possible-c-format, possible-boost-format
#, possible-boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr ""
@@ -6618,6 +6621,22 @@ msgstr ""
msgid "File '%s' was lost! Please download it again."
msgstr ""
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, possible-c-format, possible-boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, possible-c-format, possible-boost-format
msgid ""
"File: %s\n"
@@ -10188,6 +10207,12 @@ msgstr ""
msgid "Clean Up"
msgstr ""
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr ""
@@ -23594,165 +23619,6 @@ msgstr ""
msgid "Size: %.1f × %.1f mm"
msgstr ""
msgid "Primitive"
msgstr ""
msgid "Empty mesh generated"
msgstr ""
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr ""
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr ""
msgid "Width (X)"
msgstr ""
msgid "Depth (Y)"
msgstr ""
msgid "Height (Z)"
msgstr ""
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr ""
msgid "Top R"
msgstr ""
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr ""
msgid "Minor R"
msgstr ""
msgid "All edges"
msgstr ""
msgid "Top edges"
msgstr ""
msgid "Bottom edges"
msgstr ""
msgid "Lateral edges"
msgstr ""
msgid "Mesh resolution"
msgstr ""
msgid "Add Shape"
msgstr ""
msgid "No outer profile"
msgstr ""
msgid "Failed to make outer face"
msgstr ""
msgid "Failed to build face with holes"
msgstr ""
msgid "Revolve failed"
msgstr ""
msgid "Profile"
msgstr ""
msgid "Start new profile (for holes)"
msgstr ""
msgid "Segments"
msgstr ""
msgid "Sides"
msgstr ""
msgid "Click on canvas to draw"
msgstr ""
msgid "Snap to grid"
msgstr ""
msgid "Grid step"
msgstr ""
msgid "Outer"
msgstr ""
msgid "closed"
msgstr ""
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, possible-boost-format
msgid "%1% %2%: %3% points %4%"
msgstr ""
msgid "XY (Top)"
msgstr ""
msgid "XZ (Front)"
msgstr ""
msgid "YZ (Side)"
msgstr ""
msgid "Revolve deg"
msgstr ""
msgid "Set to 0 for extrude, >0 for revolve"
msgstr ""
msgid "Pocket (cut)"
msgstr ""
#, possible-c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] ""
msgstr[1] ""
msgid "Draw a closed profile to enable"
msgstr ""
msgid "Clear all"
msgstr ""
msgid "Empty result"
msgstr ""
#, possible-boost-format
msgid "Extrude: %1%"
msgstr ""
#, possible-boost-format
msgid "Revolve: %1%"
msgstr ""
msgid "No object selected"
msgstr ""
msgid "Face failed"
msgstr ""
msgid "Face with holes failed"
msgstr ""
msgid "Tool mesh empty"
msgstr ""
msgid "Pocket added (negative volume)"
msgstr ""
#, possible-boost-format
msgid "Pocket: %1%"
msgstr ""
msgctxt "Keyboard Shortcut"
msgid "Ins"
msgstr ""
@@ -26340,6 +26206,9 @@ msgstr ""
msgid "An error occurred loading %s"
msgstr ""
msgid "/"
msgstr ""
#, possible-boost-format
msgid "Load %1% to %2%"
msgstr ""
+233 -213
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2025-03-15 10:55+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -4426,6 +4426,9 @@ msgstr "Estàs segur que vols esborrar la informació del filament?"
msgid "You need to select the material type and color first."
msgstr "Primer heu de seleccionar el tipus de material i el color."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Introduïu un valor vàlid (K a %.1f~%.1f)"
@@ -6297,7 +6300,7 @@ msgid "Size:"
msgstr "Mida:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "S'han trobat conflictes de rutes de G-code a la capa %d, Z = %.2lfmm. Si us plau, separeu els objectes conflictius més lluny ( %s <-> %s )."
@@ -7177,6 +7180,22 @@ msgstr "El fitxer .gcode.3mf no conté dades de G-code. Lamineu-lo amb Orca Slic
msgid "File '%s' was lost! Please download it again."
msgstr "L'arxiu '%s' s'ha perdut! Si us plau, descarregueu-lo de nou."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11265,6 +11284,12 @@ msgstr "Cancel·lar el timelapse i imprimir"
msgid "Clean Up"
msgstr "Netejar"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Preparant el treball d'impressió"
@@ -27127,214 +27152,6 @@ msgstr "Aquest tipus de lletra no té contorn per a aquest text"
msgid "Size: %.1f × %.1f mm"
msgstr "Mida: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitiva"
# AI Translated
msgid "Empty mesh generated"
msgstr "S'ha generat una malla buida"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Caixa"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Ràpid:"
# AI Translated
msgid "Width (X)"
msgstr "Amplada (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Profunditat (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Alçada (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R inferior"
# AI Translated
msgid "Top R"
msgstr "R superior"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R major"
# AI Translated
msgid "Minor R"
msgstr "R menor"
# AI Translated
msgid "All edges"
msgstr "Totes les arestes"
# AI Translated
msgid "Top edges"
msgstr "Arestes superiors"
# AI Translated
msgid "Bottom edges"
msgstr "Arestes inferiors"
# AI Translated
msgid "Lateral edges"
msgstr "Arestes laterals"
# AI Translated
msgid "Mesh resolution"
msgstr "Resolució de la malla"
# AI Translated
msgid "Add Shape"
msgstr "Afegir forma"
# AI Translated
msgid "No outer profile"
msgstr "No hi ha cap perfil exterior"
# AI Translated
msgid "Failed to make outer face"
msgstr "No s'ha pogut crear la cara exterior"
# AI Translated
msgid "Failed to build face with holes"
msgstr "No s'ha pogut construir la cara amb forats"
# AI Translated
msgid "Revolve failed"
msgstr "La revolució ha fallat"
# AI Translated
msgid "Profile"
msgstr "Perfil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Començar un perfil nou (per a forats)"
# AI Translated
msgid "Segments"
msgstr "Segments"
# AI Translated
msgid "Sides"
msgstr "Costats"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Feu clic al llenç per dibuixar"
# AI Translated
msgid "Snap to grid"
msgstr "Ajustar a la graella"
# AI Translated
msgid "Grid step"
msgstr "Pas de la graella"
# AI Translated
msgid "Outer"
msgstr "Exterior"
# AI Translated
msgid "closed"
msgstr "tancat"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% punts %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Superior)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Frontal)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Lateral)"
# AI Translated
msgid "Revolve deg"
msgstr "Graus de revolució"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Establiu 0 per a extrusió, >0 per a revolució"
# AI Translated
msgid "Pocket (cut)"
msgstr "Cavitat (tall)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu perfil tancat"
msgstr[1] "%zu perfils tancats"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Dibuixeu un perfil tancat per activar-ho"
# AI Translated
msgid "Clear all"
msgstr "Esborrar-ho tot"
# AI Translated
msgid "Empty result"
msgstr "Resultat buit"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extrusió: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Revolució: %1%"
# AI Translated
msgid "No object selected"
msgstr "No hi ha cap objecte seleccionat"
# AI Translated
msgid "Face failed"
msgstr "No s'ha pogut crear la cara"
# AI Translated
msgid "Face with holes failed"
msgstr "No s'ha pogut crear la cara amb forats"
# AI Translated
msgid "Tool mesh empty"
msgstr "La malla de l'eina és buida"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Cavitat afegida (volum negatiu)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Cavitat: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30727,6 +30544,9 @@ msgstr "Activar les eines de desenvolupament"
msgid "An error occurred loading %s"
msgstr "S'ha produït un error en carregar %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31407,6 +31227,209 @@ msgstr ""
"Evitar la deformació( warping )\n"
"Sabíeu que quan imprimiu materials propensos a deformar-se, com ara l'ABS, augmentar adequadament la temperatura del llit pot reduir la probabilitat de deformació?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitiva"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "S'ha generat una malla buida"
# AI Translated
#~ msgid "Box"
#~ msgstr "Caixa"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Ràpid:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Amplada (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Profunditat (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Alçada (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R inferior"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R superior"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R major"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R menor"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Totes les arestes"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Arestes superiors"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Arestes inferiors"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Arestes laterals"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Resolució de la malla"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Afegir forma"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "No hi ha cap perfil exterior"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "No s'ha pogut crear la cara exterior"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "No s'ha pogut construir la cara amb forats"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "La revolució ha fallat"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Perfil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Començar un perfil nou (per a forats)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segments"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Costats"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Feu clic al llenç per dibuixar"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Ajustar a la graella"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Pas de la graella"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Exterior"
# AI Translated
#~ msgid "closed"
#~ msgstr "tancat"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% punts %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Superior)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Frontal)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Lateral)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Graus de revolució"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Establiu 0 per a extrusió, >0 per a revolució"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Cavitat (tall)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu perfil tancat"
#~ msgstr[1] "%zu perfils tancats"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Dibuixeu un perfil tancat per activar-ho"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Esborrar-ho tot"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Resultat buit"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extrusió: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Revolució: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "No hi ha cap objecte seleccionat"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "No s'ha pogut crear la cara"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "No s'ha pogut crear la cara amb forats"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "La malla de l'eina és buida"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Cavitat afegida (volum negatiu)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Cavitat: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimental) Utilitza agents d'impressora en lloc d'amfitrions d'impressió"
@@ -32463,9 +32486,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "S'ha produït un error en carregar "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+235 -215
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Jakub Hencl\n"
"Language-Team: \n"
@@ -4384,6 +4384,9 @@ msgstr "Opravdu chcete vymazat informace o filamentu?"
msgid "You need to select the material type and color first."
msgstr "Nejprve musíte vybrat typ materiálu a barvu."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Zadejte platnou hodnotu (K v rozsahu %.1f~%.1f)"
@@ -6266,7 +6269,7 @@ msgid "Size:"
msgstr "Velikost:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Byly nalezeny konflikty drah G-code ve vrstvě %d, Z = %.2lf mm. Oddělte prosím konfliktní objekty více od sebe (%s <-> %s)."
@@ -7156,6 +7159,22 @@ msgstr "Soubor .gcode.3mf neobsahuje žádná G-code data. Prosím, rozřežte m
msgid "File '%s' was lost! Please download it again."
msgstr "Soubor '%s' byl ztracen! Stáhněte jej prosím znovu."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11229,6 +11248,12 @@ msgstr "Zrušit časosběr a tisknout"
msgid "Clean Up"
msgstr "Vyčistit"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Příprava tiskové úlohy"
@@ -27135,215 +27160,6 @@ msgstr "Toto písmo nemá pro tento text žádný obrys"
msgid "Size: %.1f × %.1f mm"
msgstr "Velikost: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitiv"
# AI Translated
msgid "Empty mesh generated"
msgstr "Byla vygenerována prázdná síť"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Kvádr"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Rychle:"
# AI Translated
msgid "Width (X)"
msgstr "Šířka (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Hloubka (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Výška (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Spodní R"
# AI Translated
msgid "Top R"
msgstr "Horní R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Hlavní R"
# AI Translated
msgid "Minor R"
msgstr "Vedlejší R"
# AI Translated
msgid "All edges"
msgstr "Všechny hrany"
# AI Translated
msgid "Top edges"
msgstr "Horní hrany"
# AI Translated
msgid "Bottom edges"
msgstr "Spodní hrany"
# AI Translated
msgid "Lateral edges"
msgstr "Boční hrany"
# AI Translated
msgid "Mesh resolution"
msgstr "Rozlišení sítě"
# AI Translated
msgid "Add Shape"
msgstr "Přidat tvar"
# AI Translated
msgid "No outer profile"
msgstr "Chybí vnější profil"
# AI Translated
msgid "Failed to make outer face"
msgstr "Nepodařilo se vytvořit vnější plochu"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Nepodařilo se vytvořit plochu s otvory"
# AI Translated
msgid "Revolve failed"
msgstr "Rotace selhala"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Začít nový profil (pro otvory)"
# AI Translated
msgid "Segments"
msgstr "Segmenty"
# AI Translated
msgid "Sides"
msgstr "Strany"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Kreslete kliknutím na plátno"
# AI Translated
msgid "Snap to grid"
msgstr "Přichytit k mřížce"
# AI Translated
msgid "Grid step"
msgstr "Krok mřížky"
# AI Translated
msgid "Outer"
msgstr "Vnější"
# AI Translated
msgid "closed"
msgstr "uzavřený"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% b. %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (horní)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (přední)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (boční)"
# AI Translated
msgid "Revolve deg"
msgstr "Rotace (°)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0 = vysunutí, >0 = rotace"
# AI Translated
msgid "Pocket (cut)"
msgstr "Kapsa (řez)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu uzavřený profil"
msgstr[1] "%zu uzavřené profily"
msgstr[2] "%zu uzavřených profilů"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Pro aktivaci nakreslete uzavřený profil"
# AI Translated
msgid "Clear all"
msgstr "Vymazat vše"
# AI Translated
msgid "Empty result"
msgstr "Prázdný výsledek"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Vysunutí: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Rotace: %1%"
# AI Translated
msgid "No object selected"
msgstr "Není vybrán žádný objekt"
# AI Translated
msgid "Face failed"
msgstr "Vytvoření plochy selhalo"
# AI Translated
msgid "Face with holes failed"
msgstr "Vytvoření plochy s otvory selhalo"
# AI Translated
msgid "Tool mesh empty"
msgstr "Síť nástroje je prázdná"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Kapsa přidána (záporný objem)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Kapsa: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30737,6 +30553,10 @@ msgstr "Povolit vývojářské nástroje"
msgid "An error occurred loading %s"
msgstr "Při načítání %s došlo k chybě"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31418,6 +31238,210 @@ msgstr ""
"Zamezte kroucení\n"
"Víte, že při tisku materiálů náchylných ke kroucení, jako je ABS, může vhodné zvýšení teploty vyhřívané desky snížit pravděpodobnost kroucení?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitiv"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Byla vygenerována prázdná síť"
# AI Translated
#~ msgid "Box"
#~ msgstr "Kvádr"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Rychle:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Šířka (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Hloubka (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Výška (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Spodní R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Horní R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Hlavní R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Vedlejší R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Všechny hrany"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Horní hrany"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Spodní hrany"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Boční hrany"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Rozlišení sítě"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Přidat tvar"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Chybí vnější profil"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Nepodařilo se vytvořit vnější plochu"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Nepodařilo se vytvořit plochu s otvory"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Rotace selhala"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Začít nový profil (pro otvory)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmenty"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Strany"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Kreslete kliknutím na plátno"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Přichytit k mřížce"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Krok mřížky"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Vnější"
# AI Translated
#~ msgid "closed"
#~ msgstr "uzavřený"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% b. %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (horní)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (přední)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (boční)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Rotace (°)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0 = vysunutí, >0 = rotace"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Kapsa (řez)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu uzavřený profil"
#~ msgstr[1] "%zu uzavřené profily"
#~ msgstr[2] "%zu uzavřených profilů"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Pro aktivaci nakreslete uzavřený profil"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Vymazat vše"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Prázdný výsledek"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Vysunutí: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Rotace: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Není vybrán žádný objekt"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Vytvoření plochy selhalo"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Vytvoření plochy s otvory selhalo"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Síť nástroje je prázdná"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Kapsa přidána (záporný objem)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Kapsa: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimentální) Používat agenty tiskárny místo tiskových hostů"
@@ -32479,10 +32503,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Při načítání došlo k chybě: "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Heiko Liebscher <hliebschergmail.com>\n"
"Language-Team: \n"
@@ -4297,6 +4297,9 @@ msgstr "Sind Sie sicher, dass Sie die Filamentinformationen löschen möchten?"
msgid "You need to select the material type and color first."
msgstr "Sie müssen zuerst den Materialtyp und die Farbe auswählen."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Bitte geben Sie einen gültigen Wert ein (K in %.1f~%.1f)"
@@ -6156,7 +6159,7 @@ msgstr "Volumen:"
msgid "Size:"
msgstr "Größe:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Konflikte von G-Code-Pfaden wurden bei Layer %d, Z = %.2lf mm gefunden.Bitte trennen Sie die konfliktbehafteten Objekte weiter voneinander (%s <-> %s)."
@@ -7024,6 +7027,22 @@ msgstr "Die .gcode.3mf-Datei enthält keine G-Code-Daten. Bitte slicen Sie sie m
msgid "File '%s' was lost! Please download it again."
msgstr "Die Datei '%s' ist verloren gegangen! Bitte laden Sie diese erneut herunter."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11048,6 +11067,12 @@ msgstr "Zeitraffer abbrechen & Drucken"
msgid "Clean Up"
msgstr "Bereinigen"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Druckauftrag vorbereiten"
@@ -26532,214 +26557,6 @@ msgstr "Diese Schriftart hat keinen Umriss für diesen Text"
msgid "Size: %.1f × %.1f mm"
msgstr "Größe: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitiv"
# AI Translated
msgid "Empty mesh generated"
msgstr "Leeres Netz erzeugt"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Quader"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Schnell:"
# AI Translated
msgid "Width (X)"
msgstr "Breite (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Tiefe (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Höhe (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R unten"
# AI Translated
msgid "Top R"
msgstr "R oben"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R groß"
# AI Translated
msgid "Minor R"
msgstr "R klein"
# AI Translated
msgid "All edges"
msgstr "Alle Kanten"
# AI Translated
msgid "Top edges"
msgstr "Obere Kanten"
# AI Translated
msgid "Bottom edges"
msgstr "Untere Kanten"
# AI Translated
msgid "Lateral edges"
msgstr "Seitliche Kanten"
# AI Translated
msgid "Mesh resolution"
msgstr "Netzauflösung"
# AI Translated
msgid "Add Shape"
msgstr "Form hinzufügen"
# AI Translated
msgid "No outer profile"
msgstr "Kein Außenprofil"
# AI Translated
msgid "Failed to make outer face"
msgstr "Außenfläche konnte nicht erstellt werden"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Fläche mit Löchern konnte nicht erstellt werden"
# AI Translated
msgid "Revolve failed"
msgstr "Rotieren fehlgeschlagen"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Neues Profil beginnen (für Löcher)"
# AI Translated
msgid "Segments"
msgstr "Segmente"
# AI Translated
msgid "Sides"
msgstr "Seiten"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Zum Zeichnen in die Ansicht klicken"
# AI Translated
msgid "Snap to grid"
msgstr "Am Raster einrasten"
# AI Translated
msgid "Grid step"
msgstr "Rasterabstand"
# AI Translated
msgid "Outer"
msgstr "Außen"
# AI Translated
msgid "closed"
msgstr "geschlossen"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% Punkte %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Oben)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Vorne)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Seite)"
# AI Translated
msgid "Revolve deg"
msgstr "Rotieren (Grad)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0 zum Extrudieren, >0 zum Rotieren"
# AI Translated
msgid "Pocket (cut)"
msgstr "Tasche (Ausschnitt)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu geschlossenes Profil"
msgstr[1] "%zu geschlossene Profile"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Zum Aktivieren ein geschlossenes Profil zeichnen"
# AI Translated
msgid "Clear all"
msgstr "Alle löschen"
# AI Translated
msgid "Empty result"
msgstr "Leeres Ergebnis"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extrudieren: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Rotieren: %1%"
# AI Translated
msgid "No object selected"
msgstr "Kein Objekt ausgewählt"
# AI Translated
msgid "Face failed"
msgstr "Fläche fehlgeschlagen"
# AI Translated
msgid "Face with holes failed"
msgstr "Fläche mit Löchern fehlgeschlagen"
# AI Translated
msgid "Tool mesh empty"
msgstr "Werkzeugnetz ist leer"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Tasche hinzugefügt (negatives Volumen)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Tasche: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30123,6 +29940,9 @@ msgstr "Entwicklertools aktivieren"
msgid "An error occurred loading %s"
msgstr "Fehler beim Laden von %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30802,6 +30622,209 @@ msgstr ""
"Verwerfungen vermeiden\n"
"Wussten Sie, dass beim Drucken von Materialien, die zu Verwerfungen neigen, wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die Wahrscheinlichkeit von Verwerfungen verringert werden kann?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitiv"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Leeres Netz erzeugt"
# AI Translated
#~ msgid "Box"
#~ msgstr "Quader"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Schnell:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Breite (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Tiefe (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Höhe (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R unten"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R oben"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R groß"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R klein"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Alle Kanten"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Obere Kanten"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Untere Kanten"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Seitliche Kanten"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Netzauflösung"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Form hinzufügen"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Kein Außenprofil"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Außenfläche konnte nicht erstellt werden"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Fläche mit Löchern konnte nicht erstellt werden"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Rotieren fehlgeschlagen"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Neues Profil beginnen (für Löcher)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmente"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Seiten"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Zum Zeichnen in die Ansicht klicken"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Am Raster einrasten"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Rasterabstand"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Außen"
# AI Translated
#~ msgid "closed"
#~ msgstr "geschlossen"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% Punkte %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Oben)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Vorne)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Seite)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Rotieren (Grad)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0 zum Extrudieren, >0 zum Rotieren"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Tasche (Ausschnitt)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu geschlossenes Profil"
#~ msgstr[1] "%zu geschlossene Profile"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Zum Aktivieren ein geschlossenes Profil zeichnen"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Alle löschen"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Leeres Ergebnis"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extrudieren: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Rotieren: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Kein Objekt ausgewählt"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Fläche fehlgeschlagen"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Fläche mit Löchern fehlgeschlagen"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Werkzeugnetz ist leer"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Tasche hinzugefügt (negatives Volumen)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Tasche: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimentell) Drucker-Agenten anstelle von Druck-Hosts verwenden"
@@ -31857,9 +31880,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Fehler beim Laden von "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+30 -161
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-06-17 15:44-0300\n"
"Last-Translator: Alexandre Folle de Menezes\n"
"Language-Team: \n"
@@ -4042,6 +4042,9 @@ msgstr ""
msgid "You need to select the material type and color first."
msgstr ""
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr ""
@@ -5775,7 +5778,7 @@ msgstr ""
msgid "Size:"
msgstr ""
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr ""
@@ -6614,6 +6617,22 @@ msgstr ""
msgid "File '%s' was lost! Please download it again."
msgstr ""
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -10184,6 +10203,12 @@ msgstr ""
msgid "Clean Up"
msgstr ""
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr ""
@@ -23590,165 +23615,6 @@ msgstr ""
msgid "Size: %.1f × %.1f mm"
msgstr ""
msgid "Primitive"
msgstr ""
msgid "Empty mesh generated"
msgstr ""
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr ""
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr ""
msgid "Width (X)"
msgstr ""
msgid "Depth (Y)"
msgstr ""
msgid "Height (Z)"
msgstr ""
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr ""
msgid "Top R"
msgstr ""
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr ""
msgid "Minor R"
msgstr ""
msgid "All edges"
msgstr ""
msgid "Top edges"
msgstr ""
msgid "Bottom edges"
msgstr ""
msgid "Lateral edges"
msgstr ""
msgid "Mesh resolution"
msgstr ""
msgid "Add Shape"
msgstr ""
msgid "No outer profile"
msgstr ""
msgid "Failed to make outer face"
msgstr ""
msgid "Failed to build face with holes"
msgstr ""
msgid "Revolve failed"
msgstr ""
msgid "Profile"
msgstr ""
msgid "Start new profile (for holes)"
msgstr ""
msgid "Segments"
msgstr ""
msgid "Sides"
msgstr ""
msgid "Click on canvas to draw"
msgstr ""
msgid "Snap to grid"
msgstr ""
msgid "Grid step"
msgstr ""
msgid "Outer"
msgstr ""
msgid "closed"
msgstr ""
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr ""
msgid "XY (Top)"
msgstr ""
msgid "XZ (Front)"
msgstr ""
msgid "YZ (Side)"
msgstr ""
msgid "Revolve deg"
msgstr ""
msgid "Set to 0 for extrude, >0 for revolve"
msgstr ""
msgid "Pocket (cut)"
msgstr ""
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] ""
msgstr[1] ""
msgid "Draw a closed profile to enable"
msgstr ""
msgid "Clear all"
msgstr ""
msgid "Empty result"
msgstr ""
#, boost-format
msgid "Extrude: %1%"
msgstr ""
#, boost-format
msgid "Revolve: %1%"
msgstr ""
msgid "No object selected"
msgstr ""
msgid "Face failed"
msgstr ""
msgid "Face with holes failed"
msgstr ""
msgid "Tool mesh empty"
msgstr ""
msgid "Pocket added (negative volume)"
msgstr ""
#, boost-format
msgid "Pocket: %1%"
msgstr ""
msgctxt "Keyboard Shortcut"
msgid "Ins"
msgstr ""
@@ -26336,6 +26202,9 @@ msgstr ""
msgid "An error occurred loading %s"
msgstr ""
msgid "/"
msgstr ""
#, boost-format
msgid "Load %1% to %2%"
msgstr ""
+232 -212
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Ian A. Bassi <>\n"
"Language-Team: \n"
@@ -4175,6 +4175,9 @@ msgstr "¿Estás seguro que quieres limpiar la información de filamento?"
msgid "You need to select the material type and color first."
msgstr "Necesitas seleccionar el tipo y el color del material primero."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Por favor, introduzca un valor válido (K in %.1f~%.1f)"
@@ -6009,7 +6012,7 @@ msgstr "Volumen:"
msgid "Size:"
msgstr "Tamaño:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Se han encontrado conflictos de rutas G-Code en la capa %d, Z = %.2lfmm. Por favor, separe más los objetos en conflicto (%s <-> %s)."
@@ -6876,6 +6879,22 @@ msgstr "El archivo .gcode .3mf no contiene datos de G-Code. Por favor, lamine co
msgid "File '%s' was lost! Please download it again."
msgstr "¡El archivo '%s' se perdió!\" Por favor, vuelva a descargárlo."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -10780,6 +10799,12 @@ msgstr "Cancelar timelapse e imprimir"
msgid "Clean Up"
msgstr "Limpiar"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Preparando el trabajo de impresión"
@@ -26095,213 +26120,6 @@ msgstr "Esta fuente no tiene contorno para este texto"
msgid "Size: %.1f × %.1f mm"
msgstr "Tamaño: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitivo"
# AI Translated
msgid "Empty mesh generated"
msgstr "Se generó una malla vacía"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Caja"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Rápido:"
# AI Translated
msgid "Width (X)"
msgstr "Ancho (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Profundidad (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Altura (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R inferior"
# AI Translated
msgid "Top R"
msgstr "R superior"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R mayor"
# AI Translated
msgid "Minor R"
msgstr "R menor"
# AI Translated
msgid "All edges"
msgstr "Todas las aristas"
# AI Translated
msgid "Top edges"
msgstr "Aristas superiores"
# AI Translated
msgid "Bottom edges"
msgstr "Aristas inferiores"
# AI Translated
msgid "Lateral edges"
msgstr "Aristas laterales"
# AI Translated
msgid "Mesh resolution"
msgstr "Resolución de la malla"
# AI Translated
msgid "Add Shape"
msgstr "Añadir forma"
# AI Translated
msgid "No outer profile"
msgstr "No hay perfil exterior"
# AI Translated
msgid "Failed to make outer face"
msgstr "No se pudo crear la cara exterior"
# AI Translated
msgid "Failed to build face with holes"
msgstr "No se pudo crear la cara con agujeros"
# AI Translated
msgid "Revolve failed"
msgstr "Falló la revolución"
# AI Translated
msgid "Profile"
msgstr "Perfil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Iniciar un nuevo perfil (para agujeros)"
# AI Translated
msgid "Segments"
msgstr "Segmentos"
# AI Translated
msgid "Sides"
msgstr "Lados"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Haga clic en el lienzo para dibujar"
# AI Translated
msgid "Snap to grid"
msgstr "Ajustar a la cuadrícula"
# AI Translated
msgid "Grid step"
msgstr "Paso de cuadrícula"
# AI Translated
msgid "Outer"
msgstr "Exterior"
# AI Translated
msgid "closed"
msgstr "cerrado"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% puntos %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (superior)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (frontal)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (lateral)"
# AI Translated
msgid "Revolve deg"
msgstr "Grados de revolución"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Establezca 0 para extruir y >0 para revolución"
# AI Translated
msgid "Pocket (cut)"
msgstr "Cajera (corte)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu perfil cerrado"
msgstr[1] "%zu perfiles cerrados"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Dibuje un perfil cerrado para activarlo"
msgid "Clear all"
msgstr "Borrar todo"
# AI Translated
msgid "Empty result"
msgstr "Resultado vacío"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extruir: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Revolución: %1%"
# AI Translated
msgid "No object selected"
msgstr "No hay ningún objeto seleccionado"
# AI Translated
msgid "Face failed"
msgstr "Falló la cara"
# AI Translated
msgid "Face with holes failed"
msgstr "Falló la cara con agujeros"
# AI Translated
msgid "Tool mesh empty"
msgstr "Malla de la herramienta vacía"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Cajera añadida (volumen negativo)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Cajera: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -29678,6 +29496,9 @@ msgstr "Activar herramientas de desarrollo"
msgid "An error occurred loading %s"
msgstr "Se produjo un error al cargar %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30357,6 +30178,208 @@ msgstr ""
"Evita la deformación\n"
"¿Sabías que al imprimir materiales propensos a la deformación como el ABS, aumentar adecuadamente la temperatura de la cama térmica puede reducir la probabilidad de deformaciones?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitivo"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Se generó una malla vacía"
# AI Translated
#~ msgid "Box"
#~ msgstr "Caja"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Rápido:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Ancho (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Profundidad (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Altura (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R inferior"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R superior"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R mayor"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R menor"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Todas las aristas"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Aristas superiores"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Aristas inferiores"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Aristas laterales"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Resolución de la malla"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Añadir forma"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "No hay perfil exterior"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "No se pudo crear la cara exterior"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "No se pudo crear la cara con agujeros"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Falló la revolución"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Perfil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Iniciar un nuevo perfil (para agujeros)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmentos"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Lados"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Haga clic en el lienzo para dibujar"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Ajustar a la cuadrícula"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Paso de cuadrícula"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Exterior"
# AI Translated
#~ msgid "closed"
#~ msgstr "cerrado"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% puntos %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (superior)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (frontal)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (lateral)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Grados de revolución"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Establezca 0 para extruir y >0 para revolución"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Cajera (corte)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu perfil cerrado"
#~ msgstr[1] "%zu perfiles cerrados"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Dibuje un perfil cerrado para activarlo"
#~ msgid "Clear all"
#~ msgstr "Borrar todo"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Resultado vacío"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extruir: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Revolución: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "No hay ningún objeto seleccionado"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Falló la cara"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Falló la cara con agujeros"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Malla de la herramienta vacía"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Cajera añadida (volumen negativo)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Cajera: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimental) Usar agentes de impresora en lugar de hosts de impresión"
@@ -31412,9 +31435,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Se produjo un error al cargar "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-07-20 13:33+0200\n"
"Last-Translator: Manu Goiogana <mgoiogana@gmail.com>\n"
"Language-Team: \n"
@@ -4218,6 +4218,9 @@ msgstr "Ziur zaude filamentuaren informazioa garbitu nahi duzula?"
msgid "You need to select the material type and color first."
msgstr "Lehenik eta behin, material-mota eta kolorea hautatu behar dituzu."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Mesedez, sartu baliozko balio bat (K in %.1f~%.1f)"
@@ -6063,7 +6066,7 @@ msgstr "Bolumena:"
msgid "Size:"
msgstr "Tamaina:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "G-code ibilbideen gatazkak aurkitu dira %d geruzan, Z = %.2lf mm. Urrundu gehiago gatazkan dauden objektuak (%s <-> %s)."
@@ -6927,6 +6930,22 @@ msgstr ".gcode.3mf fitxategiak ez du G-code daturik. Mesedez, xerratu OrcaSlicer
msgid "File '%s' was lost! Please download it again."
msgstr "'%s' fitxategia galdu da! Deskargatu berriro."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -10886,6 +10905,12 @@ msgstr "Utzi timelapsea eta inprimatu"
msgid "Clean Up"
msgstr "Garbitu"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Inprimatze-lana prestatzen"
@@ -26269,214 +26294,6 @@ msgstr "Letra-tipo honek ez du ingeradarik testu honetarako"
msgid "Size: %.1f × %.1f mm"
msgstr "Tamaina: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Oinarrizko geometria"
# AI Translated
msgid "Empty mesh generated"
msgstr "Sare hutsa sortu da"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Kutxa"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Azkar:"
# AI Translated
msgid "Width (X)"
msgstr "Zabalera (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Sakonera (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Altuera (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Beheko R"
# AI Translated
msgid "Top R"
msgstr "Goiko R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R nagusia"
# AI Translated
msgid "Minor R"
msgstr "R txikia"
# AI Translated
msgid "All edges"
msgstr "Ertz guztiak"
# AI Translated
msgid "Top edges"
msgstr "Goiko ertzak"
# AI Translated
msgid "Bottom edges"
msgstr "Beheko ertzak"
# AI Translated
msgid "Lateral edges"
msgstr "Alboko ertzak"
# AI Translated
msgid "Mesh resolution"
msgstr "Sarearen bereizmena"
# AI Translated
msgid "Add Shape"
msgstr "Gehitu forma"
# AI Translated
msgid "No outer profile"
msgstr "Ez dago kanpoko profilik"
# AI Translated
msgid "Failed to make outer face"
msgstr "Ezin izan da kanpoko aurpegia sortu"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Ezin izan da zuloak dituen aurpegia eraiki"
# AI Translated
msgid "Revolve failed"
msgstr "Erreboluzioak huts egin du"
# AI Translated
msgid "Profile"
msgstr "Profila"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Hasi profil berri bat (zuloetarako)"
# AI Translated
msgid "Segments"
msgstr "Segmentuak"
# AI Translated
msgid "Sides"
msgstr "Aldeak"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Egin klik mihisean marrazteko"
# AI Translated
msgid "Snap to grid"
msgstr "Atxiki saretara"
# AI Translated
msgid "Grid step"
msgstr "Sareta-urratsa"
# AI Translated
msgid "Outer"
msgstr "Kanpokoa"
# AI Translated
msgid "closed"
msgstr "itxita"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% puntu %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Goikoa)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Aurrekoa)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Albokoa)"
# AI Translated
msgid "Revolve deg"
msgstr "Erreboluzio-graduak"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Ezarri 0 estruitzeko, >0 erreboluzionatzeko"
# AI Translated
msgid "Pocket (cut)"
msgstr "Poltsa (ebaki)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu profil itxi"
msgstr[1] "%zu profil itxi"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Marraztu profil itxi bat gaitzeko"
# AI Translated
msgid "Clear all"
msgstr "Garbitu dena"
# AI Translated
msgid "Empty result"
msgstr "Emaitza hutsa"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Estrusioa: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Erreboluzioa: %1%"
# AI Translated
msgid "No object selected"
msgstr "Ez dago objekturik hautatuta"
# AI Translated
msgid "Face failed"
msgstr "Aurpegiak huts egin du"
# AI Translated
msgid "Face with holes failed"
msgstr "Zuloak dituen aurpegiak huts egin du"
# AI Translated
msgid "Tool mesh empty"
msgstr "Tresnaren sarea hutsik dago"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Poltsa gehitu da (bolumen negatiboa)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Poltsa: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -29870,6 +29687,9 @@ msgstr "Gaitu garapen-tresnak"
msgid "An error occurred loading %s"
msgstr "Errore bat gertatu da %s kargatzean"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30549,6 +30369,209 @@ msgstr ""
"Saihestu okertzea\n"
"Ba al zenekien ABS bezalako okertzeko joera duten materialak inprimatzean ohe beroaren tenperatura egoki igotzeak okertzeko probabilitatea murriztu dezakeela?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Oinarrizko geometria"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Sare hutsa sortu da"
# AI Translated
#~ msgid "Box"
#~ msgstr "Kutxa"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Azkar:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Zabalera (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Sakonera (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Altuera (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Beheko R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Goiko R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R nagusia"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R txikia"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Ertz guztiak"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Goiko ertzak"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Beheko ertzak"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Alboko ertzak"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Sarearen bereizmena"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Gehitu forma"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Ez dago kanpoko profilik"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Ezin izan da kanpoko aurpegia sortu"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Ezin izan da zuloak dituen aurpegia eraiki"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Erreboluzioak huts egin du"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profila"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Hasi profil berri bat (zuloetarako)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmentuak"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Aldeak"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Egin klik mihisean marrazteko"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Atxiki saretara"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Sareta-urratsa"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Kanpokoa"
# AI Translated
#~ msgid "closed"
#~ msgstr "itxita"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% puntu %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Goikoa)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Aurrekoa)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Albokoa)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Erreboluzio-graduak"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Ezarri 0 estruitzeko, >0 erreboluzionatzeko"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Poltsa (ebaki)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu profil itxi"
#~ msgstr[1] "%zu profil itxi"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Marraztu profil itxi bat gaitzeko"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Garbitu dena"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Emaitza hutsa"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Estrusioa: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Erreboluzioa: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Ez dago objekturik hautatuta"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Aurpegiak huts egin du"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Zuloak dituen aurpegiak huts egin du"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Tresnaren sarea hutsik dago"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Poltsa gehitu da (bolumen negatiboa)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Poltsa: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Esperimentala) Erabili inprimagailu-agenteak inprimatze-hostenen ordez"
@@ -31608,9 +31631,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Errore bat gertatu da hau kargatzean: "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: Guislain Cyril, Thomas Lété\n"
@@ -4247,6 +4247,9 @@ msgstr "Voulez-vous vraiment effacer les informations du filament ?"
msgid "You need to select the material type and color first."
msgstr "Vous devez d'abord sélectionner le type de matériau et sa couleur."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Veuillez saisir une valeur valide (K entre %.1f~%.1f)"
@@ -6098,7 +6101,7 @@ msgstr "Volume :"
msgid "Size:"
msgstr "Taille :"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Des conflits de chemins G-code ont été trouvés au niveau de la couche %d, z = %.2lfmm. Veuillez séparer davantage les objets en conflit (%s <-> %s)."
@@ -6966,6 +6969,22 @@ msgstr "Le fichier G-code .3mf ne contient pas de données G-code. Veuillez le d
msgid "File '%s' was lost! Please download it again."
msgstr "Le fichier « %s » a été perdu ! Veuillez le télécharger à nouveau."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -10902,6 +10921,12 @@ msgstr "Annuler le timelapse et imprimer"
msgid "Clean Up"
msgstr "Nettoyer"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Préparation du travail d'impression"
@@ -26035,214 +26060,6 @@ msgstr "Cette police n’a pas de contour pour ce texte"
msgid "Size: %.1f × %.1f mm"
msgstr "Taille : %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitive"
# AI Translated
msgid "Empty mesh generated"
msgstr "Maillage vide généré"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Boîte"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Rapide :"
# AI Translated
msgid "Width (X)"
msgstr "Largeur (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Profondeur (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Hauteur (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R inférieur"
# AI Translated
msgid "Top R"
msgstr "R supérieur"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Grand R"
# AI Translated
msgid "Minor R"
msgstr "Petit R"
# AI Translated
msgid "All edges"
msgstr "Toutes les arêtes"
# AI Translated
msgid "Top edges"
msgstr "Arêtes supérieures"
# AI Translated
msgid "Bottom edges"
msgstr "Arêtes inférieures"
# AI Translated
msgid "Lateral edges"
msgstr "Arêtes latérales"
# AI Translated
msgid "Mesh resolution"
msgstr "Résolution du maillage"
# AI Translated
msgid "Add Shape"
msgstr "Ajouter la forme"
# AI Translated
msgid "No outer profile"
msgstr "Aucun profil extérieur"
# AI Translated
msgid "Failed to make outer face"
msgstr "Échec de la création de la face extérieure"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Échec de la création de la face avec trous"
# AI Translated
msgid "Revolve failed"
msgstr "Échec de la révolution"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Commencer un nouveau profil (pour les trous)"
# AI Translated
msgid "Segments"
msgstr "Segments"
# AI Translated
msgid "Sides"
msgstr "Côtés"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Cliquez dans la vue pour dessiner"
# AI Translated
msgid "Snap to grid"
msgstr "Aimanter à la grille"
# AI Translated
msgid "Grid step"
msgstr "Pas de la grille"
# AI Translated
msgid "Outer"
msgstr "Extérieur"
# AI Translated
msgid "closed"
msgstr "fermé"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2% : %3% points %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Haut)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Avant)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Côté)"
# AI Translated
msgid "Revolve deg"
msgstr "Révolution (°)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0 pour une extrusion, >0 pour une révolution"
# AI Translated
msgid "Pocket (cut)"
msgstr "Poche (enlèvement)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu profil fermé"
msgstr[1] "%zu profils fermés"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Dessinez un profil fermé pour activer"
# AI Translated
msgid "Clear all"
msgstr "Tout effacer"
# AI Translated
msgid "Empty result"
msgstr "Résultat vide"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extrusion : %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Révolution : %1%"
# AI Translated
msgid "No object selected"
msgstr "Aucun objet sélectionné"
# AI Translated
msgid "Face failed"
msgstr "Échec de la face"
# AI Translated
msgid "Face with holes failed"
msgstr "Échec de la face avec trous"
# AI Translated
msgid "Tool mesh empty"
msgstr "Maillage de l’outil vide"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Poche ajoutée (volume négatif)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Poche : %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -29616,6 +29433,9 @@ msgstr "Activer les outils de développement"
msgid "An error occurred loading %s"
msgstr "Une erreur s’est produite lors du chargement de %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30295,6 +30115,209 @@ msgstr ""
"Éviter la déformation\n"
"Saviez-vous que lors de l’impression de matériaux susceptibles de se déformer, tels que l’ABS, une augmentation appropriée de la température du plateau chauffant peut réduire la probabilité de déformation?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitive"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Maillage vide généré"
# AI Translated
#~ msgid "Box"
#~ msgstr "Boîte"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Rapide :"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Largeur (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Profondeur (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Hauteur (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R inférieur"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R supérieur"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Grand R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Petit R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Toutes les arêtes"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Arêtes supérieures"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Arêtes inférieures"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Arêtes latérales"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Résolution du maillage"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Ajouter la forme"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Aucun profil extérieur"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Échec de la création de la face extérieure"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Échec de la création de la face avec trous"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Échec de la révolution"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Commencer un nouveau profil (pour les trous)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segments"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Côtés"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Cliquez dans la vue pour dessiner"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Aimanter à la grille"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Pas de la grille"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Extérieur"
# AI Translated
#~ msgid "closed"
#~ msgstr "fermé"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2% : %3% points %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Haut)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Avant)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Côté)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Révolution (°)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0 pour une extrusion, >0 pour une révolution"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Poche (enlèvement)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu profil fermé"
#~ msgstr[1] "%zu profils fermés"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Dessinez un profil fermé pour activer"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Tout effacer"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Résultat vide"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extrusion : %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Révolution : %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Aucun objet sélectionné"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Échec de la face"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Échec de la face avec trous"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Maillage de l’outil vide"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Poche ajoutée (volume négatif)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Poche : %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Expérimental) Utiliser les agents d’imprimante au lieu des hôtes d’impression"
@@ -31343,9 +31366,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Une erreur s’est produite lors du chargement de "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+234 -214
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -4357,6 +4357,9 @@ msgstr "Biztosan törölni szeretnéd a filament adatait?"
msgid "You need to select the material type and color first."
msgstr "Először ki kell választanod az anyagtípust és a színt."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Adj meg érvényes értéket (K tartomány: %.1f~%.1f)"
@@ -6233,7 +6236,7 @@ msgid "Size:"
msgstr "Méret:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "G-code útvonalütközés található a(z) %d. rétegen, Z = %.2lfmm. Helyezd távolabb egymástól az ütköző objektumokat (%s <-> %s)."
@@ -7119,6 +7122,22 @@ msgstr "A .gcode.3mf fájl nem tartalmaz G-code adatot. Szeleteld újra Orca Sli
msgid "File '%s' was lost! Please download it again."
msgstr "A(z) '%s' fájl elveszett! Kérlek, töltsd le újra."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11179,6 +11198,12 @@ msgstr "Timelapse megszakítása és nyomtatás"
msgid "Clean Up"
msgstr "Tisztítás"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Nyomtatási feladat előkészítése"
@@ -27000,214 +27025,6 @@ msgstr "Ennek a betűtípusnak nincs körvonala ehhez a szöveghez"
msgid "Size: %.1f × %.1f mm"
msgstr "Méret: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitív"
# AI Translated
msgid "Empty mesh generated"
msgstr "Üres háló jött létre"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Téglatest"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Gyors:"
# AI Translated
msgid "Width (X)"
msgstr "Szélesség (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Mélység (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Magasság (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Alsó R"
# AI Translated
msgid "Top R"
msgstr "Felső R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Fő R"
# AI Translated
msgid "Minor R"
msgstr "Cső R"
# AI Translated
msgid "All edges"
msgstr "Minden él"
# AI Translated
msgid "Top edges"
msgstr "Felső élek"
# AI Translated
msgid "Bottom edges"
msgstr "Alsó élek"
# AI Translated
msgid "Lateral edges"
msgstr "Oldalélek"
# AI Translated
msgid "Mesh resolution"
msgstr "Hálófelbontás"
# AI Translated
msgid "Add Shape"
msgstr "Alakzat hozzáadása"
# AI Translated
msgid "No outer profile"
msgstr "Nincs külső profil"
# AI Translated
msgid "Failed to make outer face"
msgstr "Nem sikerült létrehozni a külső lapot"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Nem sikerült létrehozni a lyukas lapot"
# AI Translated
msgid "Revolve failed"
msgstr "A körbeforgatás sikertelen"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Új profil kezdése (lyukakhoz)"
# AI Translated
msgid "Segments"
msgstr "Szakaszok"
# AI Translated
msgid "Sides"
msgstr "Oldalak"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Kattints a vászonra a rajzoláshoz"
# AI Translated
msgid "Snap to grid"
msgstr "Rácshoz illesztés"
# AI Translated
msgid "Grid step"
msgstr "Rács lépésköze"
# AI Translated
msgid "Outer"
msgstr "Külső"
# AI Translated
msgid "closed"
msgstr "zárt"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% pont %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (felülnézet)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (elölnézet)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (oldalnézet)"
# AI Translated
msgid "Revolve deg"
msgstr "Körbeforgatás (°)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0: extrudálás, >0: körbeforgatás"
# AI Translated
msgid "Pocket (cut)"
msgstr "Zseb (vágás)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu zárt profil"
msgstr[1] "%zu zárt profil"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Az engedélyezéshez rajzolj egy zárt profilt"
# AI Translated
msgid "Clear all"
msgstr "Összes törlése"
# AI Translated
msgid "Empty result"
msgstr "Üres eredmény"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extrudálás: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Körbeforgatás: %1%"
# AI Translated
msgid "No object selected"
msgstr "Nincs kijelölt objektum"
# AI Translated
msgid "Face failed"
msgstr "A lap létrehozása sikertelen"
# AI Translated
msgid "Face with holes failed"
msgstr "A lyukas lap létrehozása sikertelen"
# AI Translated
msgid "Tool mesh empty"
msgstr "A szerszámháló üres"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Zseb hozzáadva (negatív térfogat)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Zseb: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30600,6 +30417,10 @@ msgstr "Fejlesztői eszközök engedélyezése"
msgid "An error occurred loading %s"
msgstr "Hiba történt a(z) %s betöltésekor"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31281,6 +31102,209 @@ msgstr ""
"Kunkorodás elkerülése\n"
"Tudtad, hogy a kunkorodásra hajlamos anyagok (például ABS) nyomtatásakor az asztal hőmérsékletének növelése csökkentheti a kunkorodás valószínűségét?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitív"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Üres háló jött létre"
# AI Translated
#~ msgid "Box"
#~ msgstr "Téglatest"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Gyors:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Szélesség (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Mélység (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Magasság (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Alsó R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Felső R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Fő R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Cső R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Minden él"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Felső élek"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Alsó élek"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Oldalélek"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Hálófelbontás"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Alakzat hozzáadása"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Nincs külső profil"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Nem sikerült létrehozni a külső lapot"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Nem sikerült létrehozni a lyukas lapot"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "A körbeforgatás sikertelen"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Új profil kezdése (lyukakhoz)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Szakaszok"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Oldalak"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Kattints a vászonra a rajzoláshoz"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Rácshoz illesztés"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Rács lépésköze"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Külső"
# AI Translated
#~ msgid "closed"
#~ msgstr "zárt"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% pont %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (felülnézet)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (elölnézet)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (oldalnézet)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Körbeforgatás (°)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0: extrudálás, >0: körbeforgatás"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Zseb (vágás)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu zárt profil"
#~ msgstr[1] "%zu zárt profil"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Az engedélyezéshez rajzolj egy zárt profilt"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Összes törlése"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Üres eredmény"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extrudálás: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Körbeforgatás: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Nincs kijelölt objektum"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "A lap létrehozása sikertelen"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "A lyukas lap létrehozása sikertelen"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "A szerszámháló üres"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Zseb hozzáadva (negatív térfogat)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Zseb: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Kísérleti) Nyomtatóügynökök használata nyomtatókiszolgálók helyett"
@@ -32336,10 +32360,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Hiba történt a betöltés során: "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -4350,6 +4350,9 @@ msgstr "Sei sicuro di voler cancellare le informazioni del filamento?"
msgid "You need to select the material type and color first."
msgstr "Devi prima selezionare il tipo e il colore del materiale."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Si prega di immettere un valore valido (K in %.1f~%.1f)"
@@ -6206,7 +6209,7 @@ msgstr "Volume:"
msgid "Size:"
msgstr "Dimensione:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Sono stati trovati conflitti di percorsi nel G-code sullo strato %d, Z = %.2lfmm. Si prega di separare gli oggetti in conflitto (%s <-> %s)."
@@ -7083,6 +7086,22 @@ msgstr "Il file .gcode.3mf non contiene dati G-code. Elaboralo con OrcaSlicer ed
msgid "File '%s' was lost! Please download it again."
msgstr "Il file '%s' è stato perso! Si prega di scaricarlo di nuovo."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11138,6 +11157,12 @@ msgstr "Annulla timelapse e stampa"
msgid "Clean Up"
msgstr "Pulisci"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Preparazione della stampa"
@@ -26874,214 +26899,6 @@ msgstr "Questo carattere non ha un contorno per questo testo"
msgid "Size: %.1f × %.1f mm"
msgstr "Dimensioni: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitiva"
# AI Translated
msgid "Empty mesh generated"
msgstr "Generata una mesh vuota"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Parallelepipedo"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Rapido:"
# AI Translated
msgid "Width (X)"
msgstr "Larghezza (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Profondità (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Altezza (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R inferiore"
# AI Translated
msgid "Top R"
msgstr "R superiore"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R maggiore"
# AI Translated
msgid "Minor R"
msgstr "R minore"
# AI Translated
msgid "All edges"
msgstr "Tutti gli spigoli"
# AI Translated
msgid "Top edges"
msgstr "Spigoli superiori"
# AI Translated
msgid "Bottom edges"
msgstr "Spigoli inferiori"
# AI Translated
msgid "Lateral edges"
msgstr "Spigoli laterali"
# AI Translated
msgid "Mesh resolution"
msgstr "Risoluzione mesh"
# AI Translated
msgid "Add Shape"
msgstr "Aggiungi forma"
# AI Translated
msgid "No outer profile"
msgstr "Nessun profilo esterno"
# AI Translated
msgid "Failed to make outer face"
msgstr "Impossibile creare la faccia esterna"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Impossibile creare la faccia con i fori"
# AI Translated
msgid "Revolve failed"
msgstr "Rivoluzione non riuscita"
# AI Translated
msgid "Profile"
msgstr "Profilo"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Inizia un nuovo profilo (per i fori)"
# AI Translated
msgid "Segments"
msgstr "Segmenti"
# AI Translated
msgid "Sides"
msgstr "Lati"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Clicca nell'area di disegno per disegnare"
# AI Translated
msgid "Snap to grid"
msgstr "Aggancia alla griglia"
# AI Translated
msgid "Grid step"
msgstr "Passo griglia"
# AI Translated
msgid "Outer"
msgstr "Esterno"
# AI Translated
msgid "closed"
msgstr "chiuso"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% punti %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Superiore)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Frontale)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Laterale)"
# AI Translated
msgid "Revolve deg"
msgstr "Gradi rivoluzione"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Imposta 0 per estrudere, >0 per rivoluzionare"
# AI Translated
msgid "Pocket (cut)"
msgstr "Tasca (taglio)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu profilo chiuso"
msgstr[1] "%zu profili chiusi"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Disegna un profilo chiuso per abilitare"
# AI Translated
msgid "Clear all"
msgstr "Cancella tutto"
# AI Translated
msgid "Empty result"
msgstr "Risultato vuoto"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Estrusione: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Rivoluzione: %1%"
# AI Translated
msgid "No object selected"
msgstr "Nessun oggetto selezionato"
# AI Translated
msgid "Face failed"
msgstr "Creazione della faccia non riuscita"
# AI Translated
msgid "Face with holes failed"
msgstr "Creazione della faccia con fori non riuscita"
# AI Translated
msgid "Tool mesh empty"
msgstr "Mesh dell'utensile vuota"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Tasca aggiunta (volume negativo)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Tasca: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30464,6 +30281,9 @@ msgstr "Abilita strumenti per sviluppatori"
msgid "An error occurred loading %s"
msgstr "Si è verificato un errore durante il caricamento di %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31144,6 +30964,209 @@ msgstr ""
"Evita le deformazioni\n"
"Sapevi che quando si stampano materiali soggetti a deformazioni come l'ABS, aumentare in modo appropriato la temperatura del piano riscaldato può ridurre la probabilità di deformazione?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitiva"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Generata una mesh vuota"
# AI Translated
#~ msgid "Box"
#~ msgstr "Parallelepipedo"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Rapido:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Larghezza (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Profondità (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Altezza (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R inferiore"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R superiore"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R maggiore"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R minore"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Tutti gli spigoli"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Spigoli superiori"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Spigoli inferiori"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Spigoli laterali"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Risoluzione mesh"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Aggiungi forma"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Nessun profilo esterno"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Impossibile creare la faccia esterna"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Impossibile creare la faccia con i fori"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Rivoluzione non riuscita"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profilo"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Inizia un nuovo profilo (per i fori)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmenti"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Lati"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Clicca nell'area di disegno per disegnare"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Aggancia alla griglia"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Passo griglia"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Esterno"
# AI Translated
#~ msgid "closed"
#~ msgstr "chiuso"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% punti %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Superiore)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Frontale)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Laterale)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Gradi rivoluzione"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Imposta 0 per estrudere, >0 per rivoluzionare"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Tasca (taglio)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu profilo chiuso"
#~ msgstr[1] "%zu profili chiusi"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Disegna un profilo chiuso per abilitare"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Cancella tutto"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Risultato vuoto"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Estrusione: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Rivoluzione: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Nessun oggetto selezionato"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Creazione della faccia non riuscita"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Creazione della faccia con fori non riuscita"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Mesh dell'utensile vuota"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Tasca aggiunta (volume negativo)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Tasca: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Sperimentale) Usa gli agenti stampante invece degli host di stampa"
@@ -32200,9 +32223,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Si è verificato un errore durante il caricamento di "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+232 -212
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -4352,6 +4352,9 @@ msgstr "フィラメント情報をクリアしてもよろしいですか?"
msgid "You need to select the material type and color first."
msgstr "まず材料タイプと色を選択してください。"
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "有効な値を入力してください(Kは%.1f~%.1f)"
@@ -6230,7 +6233,7 @@ msgstr "ボリューム"
msgid "Size:"
msgstr "サイズ:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "レイヤー%d、Z = %.2lfmmでG-codeパスの衝突が検出されました。衝突するオブジェクトをもっと離してください(%s <-> %s)。"
@@ -7099,6 +7102,22 @@ msgstr ".gcode.3mfファイルにG-codeデータが含まれていません。Or
msgid "File '%s' was lost! Please download it again."
msgstr "ファイル %s が見つかりませんでした、もう一度ダウンロードしてください。"
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11171,6 +11190,12 @@ msgstr "タイムラプスを中止して印刷"
msgid "Clean Up"
msgstr "整理する"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "造形タスクを準備"
@@ -27395,213 +27420,6 @@ msgstr "このフォントにはこのテキストのアウトラインがあり
msgid "Size: %.1f × %.1f mm"
msgstr "サイズ: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "プリミティブ"
# AI Translated
msgid "Empty mesh generated"
msgstr "空のメッシュが生成されました"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "ボックス"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "クイック:"
# AI Translated
msgid "Width (X)"
msgstr "幅 (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "奥行き (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "高さ (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "底面半径"
# AI Translated
msgid "Top R"
msgstr "上面半径"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "大半径"
# AI Translated
msgid "Minor R"
msgstr "小半径"
# AI Translated
msgid "All edges"
msgstr "すべてのエッジ"
# AI Translated
msgid "Top edges"
msgstr "上面のエッジ"
# AI Translated
msgid "Bottom edges"
msgstr "底面のエッジ"
# AI Translated
msgid "Lateral edges"
msgstr "側面のエッジ"
# AI Translated
msgid "Mesh resolution"
msgstr "メッシュ分解能"
# AI Translated
msgid "Add Shape"
msgstr "形状を追加"
# AI Translated
msgid "No outer profile"
msgstr "外側のプロファイルがありません"
# AI Translated
msgid "Failed to make outer face"
msgstr "外側の面を作成できませんでした"
# AI Translated
msgid "Failed to build face with holes"
msgstr "穴のある面を作成できませんでした"
# AI Translated
msgid "Revolve failed"
msgstr "回転押し出しに失敗しました"
# AI Translated
msgid "Profile"
msgstr "プロファイル"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "新しいプロファイルを開始 (穴用)"
# AI Translated
msgid "Segments"
msgstr "セグメント数"
# AI Translated
msgid "Sides"
msgstr "辺数"
# AI Translated
msgid "Click on canvas to draw"
msgstr "キャンバスをクリックして描画"
# AI Translated
msgid "Snap to grid"
msgstr "グリッドにスナップ"
# AI Translated
msgid "Grid step"
msgstr "グリッド間隔"
# AI Translated
msgid "Outer"
msgstr "外側"
# AI Translated
msgid "closed"
msgstr "閉じています"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% 点 %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (上面)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (正面)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (側面)"
# AI Translated
msgid "Revolve deg"
msgstr "回転押し出し角度"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0で押し出し、0より大きい値で回転押し出し"
# AI Translated
msgid "Pocket (cut)"
msgstr "ポケット (カット)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu個の閉じたプロファイル"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "有効にするには閉じたプロファイルを描画してください"
# AI Translated
msgid "Clear all"
msgstr "すべてクリア"
# AI Translated
msgid "Empty result"
msgstr "結果が空です"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "押し出し: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "回転押し出し: %1%"
# AI Translated
msgid "No object selected"
msgstr "オブジェクトが選択されていません"
# AI Translated
msgid "Face failed"
msgstr "面の作成に失敗しました"
# AI Translated
msgid "Face with holes failed"
msgstr "穴のある面の作成に失敗しました"
# AI Translated
msgid "Tool mesh empty"
msgstr "ツールメッシュが空です"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "ポケットを追加しました (マイナスボリューム)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "ポケット: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30986,6 +30804,9 @@ msgstr "開発者ツールを有効化"
msgid "An error occurred loading %s"
msgstr "%s の読み込み中にエラーが発生しました"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31677,6 +31498,208 @@ msgstr ""
"反りを避ける\n"
"ABSのような反りやすい素材を印刷する場合、ヒートベッドの温度を適切に上げることで、反りが発生する確率を下げることができることをご存知ですか?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "プリミティブ"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "空のメッシュが生成されました"
# AI Translated
#~ msgid "Box"
#~ msgstr "ボックス"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "クイック:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "幅 (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "奥行き (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "高さ (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "底面半径"
# AI Translated
#~ msgid "Top R"
#~ msgstr "上面半径"
# AI Translated
#~ msgid "Major R"
#~ msgstr "大半径"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "小半径"
# AI Translated
#~ msgid "All edges"
#~ msgstr "すべてのエッジ"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "上面のエッジ"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "底面のエッジ"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "側面のエッジ"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "メッシュ分解能"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "形状を追加"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "外側のプロファイルがありません"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "外側の面を作成できませんでした"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "穴のある面を作成できませんでした"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "回転押し出しに失敗しました"
# AI Translated
#~ msgid "Profile"
#~ msgstr "プロファイル"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "新しいプロファイルを開始 (穴用)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "セグメント数"
# AI Translated
#~ msgid "Sides"
#~ msgstr "辺数"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "キャンバスをクリックして描画"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "グリッドにスナップ"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "グリッド間隔"
# AI Translated
#~ msgid "Outer"
#~ msgstr "外側"
# AI Translated
#~ msgid "closed"
#~ msgstr "閉じています"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% 点 %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (上面)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (正面)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (側面)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "回転押し出し角度"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0で押し出し、0より大きい値で回転押し出し"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "ポケット (カット)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu個の閉じたプロファイル"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "有効にするには閉じたプロファイルを描画してください"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "すべてクリア"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "結果が空です"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "押し出し: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "回転押し出し: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "オブジェクトが選択されていません"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "面の作成に失敗しました"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "穴のある面の作成に失敗しました"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "ツールメッシュが空です"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "ポケットを追加しました (マイナスボリューム)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "ポケット: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(実験的) プリントホストの代わりにプリンターエージェントを使用"
@@ -32759,9 +32782,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "読み込み中にエラーが発生しました: "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+232 -212
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2025-06-02 17:12+0900\n"
"Last-Translator: crwusiz <crwusiz@gmail.com>\n"
"Language-Team: \n"
@@ -4377,6 +4377,9 @@ msgstr "정말 필라멘트 정보를 삭제하시겠습니까?"
msgid "You need to select the material type and color first."
msgstr "재료 유형과 색상을 먼저 선택해야 합니다."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "유효한 값을 입력하세요 (%.1f~%.1f 사이의 K)"
@@ -6264,7 +6267,7 @@ msgid "Size:"
msgstr "크기:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "레이어 %d, Z = %.2lf mm에서 G-code 경로 충돌이 발견되었습니다. 충돌하는 객체를 더 멀리 분리하세요 (%s <-> %s)."
@@ -7144,6 +7147,22 @@ msgstr ".gcode.3mf 파일에는 G-code 데이터가 없습니다. OrcaSlicer에
msgid "File '%s' was lost! Please download it again."
msgstr "'%s' 파일이 손실되었습니다! 다시 다운로드하세요."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11313,6 +11332,12 @@ msgstr "타임랩스 취소 후 출력"
msgid "Clean Up"
msgstr "정리"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "출력 작업 준비 중"
@@ -27412,213 +27437,6 @@ msgstr "이 글꼴에는 이 텍스트의 외곽선이 없습니다"
msgid "Size: %.1f × %.1f mm"
msgstr "크기: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "기본 모델"
# AI Translated
msgid "Empty mesh generated"
msgstr "빈 메시가 생성되었습니다"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "상자"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "빠른 선택:"
# AI Translated
msgid "Width (X)"
msgstr "너비 (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "깊이 (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "높이 (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "하단 R"
# AI Translated
msgid "Top R"
msgstr "상단 R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "주 R"
# AI Translated
msgid "Minor R"
msgstr "부 R"
# AI Translated
msgid "All edges"
msgstr "모든 모서리"
# AI Translated
msgid "Top edges"
msgstr "상단 모서리"
# AI Translated
msgid "Bottom edges"
msgstr "하단 모서리"
# AI Translated
msgid "Lateral edges"
msgstr "측면 모서리"
# AI Translated
msgid "Mesh resolution"
msgstr "메시 해상도"
# AI Translated
msgid "Add Shape"
msgstr "형상 추가"
# AI Translated
msgid "No outer profile"
msgstr "외곽 프로파일 없음"
# AI Translated
msgid "Failed to make outer face"
msgstr "외곽 면을 만들지 못했습니다"
# AI Translated
msgid "Failed to build face with holes"
msgstr "구멍이 있는 면을 만들지 못했습니다"
# AI Translated
msgid "Revolve failed"
msgstr "회전 실패"
# AI Translated
msgid "Profile"
msgstr "프로파일"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "새 프로파일 시작(구멍용)"
# AI Translated
msgid "Segments"
msgstr "세그먼트 수"
# AI Translated
msgid "Sides"
msgstr "변 수"
# AI Translated
msgid "Click on canvas to draw"
msgstr "캔버스를 클릭하여 그리기"
# AI Translated
msgid "Snap to grid"
msgstr "격자에 스냅"
# AI Translated
msgid "Grid step"
msgstr "격자 간격"
# AI Translated
msgid "Outer"
msgstr "외곽"
# AI Translated
msgid "closed"
msgstr "닫힘"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: 점 %3%개 %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (위)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (앞)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (측면)"
# AI Translated
msgid "Revolve deg"
msgstr "회전 각도"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "돌출은 0, 회전은 0보다 큰 값으로 설정"
# AI Translated
msgid "Pocket (cut)"
msgstr "포켓(잘라내기)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu개의 닫힌 프로파일"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "활성화하려면 닫힌 프로파일을 그리십시오"
# AI Translated
msgid "Clear all"
msgstr "모두 지우기"
# AI Translated
msgid "Empty result"
msgstr "결과가 비어 있음"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "돌출: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "회전: %1%"
# AI Translated
msgid "No object selected"
msgstr "선택한 객체 없음"
# AI Translated
msgid "Face failed"
msgstr "면 생성 실패"
# AI Translated
msgid "Face with holes failed"
msgstr "구멍이 있는 면 생성 실패"
# AI Translated
msgid "Tool mesh empty"
msgstr "도구 메시가 비어 있음"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "포켓 추가됨(비우기 부품)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "포켓: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -31004,6 +30822,9 @@ msgstr "개발자 도구 사용"
msgid "An error occurred loading %s"
msgstr "%s 로드 중 오류가 발생했습니다"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31686,6 +31507,208 @@ msgstr ""
"뒤틀림 방지\n"
"ABS와 같이 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "기본 모델"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "빈 메시가 생성되었습니다"
# AI Translated
#~ msgid "Box"
#~ msgstr "상자"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "빠른 선택:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "너비 (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "깊이 (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "높이 (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "하단 R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "상단 R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "주 R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "부 R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "모든 모서리"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "상단 모서리"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "하단 모서리"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "측면 모서리"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "메시 해상도"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "형상 추가"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "외곽 프로파일 없음"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "외곽 면을 만들지 못했습니다"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "구멍이 있는 면을 만들지 못했습니다"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "회전 실패"
# AI Translated
#~ msgid "Profile"
#~ msgstr "프로파일"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "새 프로파일 시작(구멍용)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "세그먼트 수"
# AI Translated
#~ msgid "Sides"
#~ msgstr "변 수"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "캔버스를 클릭하여 그리기"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "격자에 스냅"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "격자 간격"
# AI Translated
#~ msgid "Outer"
#~ msgstr "외곽"
# AI Translated
#~ msgid "closed"
#~ msgstr "닫힘"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: 점 %3%개 %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (위)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (앞)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (측면)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "회전 각도"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "돌출은 0, 회전은 0보다 큰 값으로 설정"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "포켓(잘라내기)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu개의 닫힌 프로파일"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "활성화하려면 닫힌 프로파일을 그리십시오"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "모두 지우기"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "결과가 비어 있음"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "돌출: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "회전: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "선택한 객체 없음"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "면 생성 실패"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "구멍이 있는 면 생성 실패"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "도구 메시가 비어 있음"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "포켓 추가됨(비우기 부품)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "포켓: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(실험적) 출력 호스트 대신 프린터 에이전트 사용"
@@ -32749,9 +32772,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "로드 중 오류가 발생했습니다: "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+1 -2
View File
@@ -147,6 +147,7 @@ src/slic3r/GUI/HMSPanel.cpp
src/slic3r/GUI/MainFrame.cpp
src/slic3r/GUI/MediaPlayCtrl.cpp
src/slic3r/GUI/MediaFilePanel.cpp
src/slic3r/GUI/OrcaFilesPanel.cpp
src/slic3r/GUI/ImageGrid.cpp
src/slic3r/GUI/Widgets/ImageSwitchButton.cpp
src/slic3r/GUI/Printer/PrinterFileSystem.cpp
@@ -164,7 +165,6 @@ src/slic3r/GUI/OptionsGroup.cpp
src/slic3r/GUI/PrintOptionsDialog.cpp
src/slic3r/GUI/SafetyOptionsDialog.cpp
src/slic3r/GUI/ParamsPanel.cpp
src/slic3r/GUI/IMEXModesCtrl.cpp
src/slic3r/GUI/PartPlate.cpp
src/slic3r/GUI/Plater.cpp
src/slic3r/GUI/Preferences.cpp
@@ -213,7 +213,6 @@ src/libslic3r/ExtrusionEntity.cpp
src/libslic3r/Flow.cpp
src/libslic3r/Format/AMF.cpp
src/libslic3r/miniz_extension.cpp
src/libslic3r/IMEXHelpers.cpp
src/libslic3r/Preset.cpp
src/libslic3r/Print.cpp
src/libslic3r/PrintBase.cpp
+235 -215
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-07-02 14:13+0300\n"
"Last-Translator: Gintaras Kučinskas <sharanchius@gmail.com>\n"
"Language-Team: \n"
@@ -4343,6 +4343,9 @@ msgstr "Ar jūs tikrai norite išvalyti gijos informaciją?"
msgid "You need to select the material type and color first."
msgstr "Pradžioje jums reikia pasirinkti medžiagos tipą ir spalvą."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Įveskite tinkamą reikšmę (K %.1f~%.1f)"
@@ -6219,7 +6222,7 @@ msgid "Size:"
msgstr "Dydis:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Rasta G-code trajektorijų konfliktų %d sluoksnyje, Z = %.2lfmm. Prašome labiau atskirti konfliktuojančius objektus (%s <-> %s)."
@@ -7104,6 +7107,22 @@ msgstr "Failas „.gcode.3mf“ neturi G-code duomenų. Supjaustykite jį su „
msgid "File '%s' was lost! Please download it again."
msgstr "Failas „%s“ nerastas! Atsisiųskite jį iš naujo."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11134,6 +11153,12 @@ msgstr "Atšaukti intervalinį fotografavimą ir spausdinti"
msgid "Clean Up"
msgstr "Išvalyti"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Spausdinimo užduoties rengimas"
@@ -26733,215 +26758,6 @@ msgstr "Šis šriftas neturi šio teksto kontūro"
msgid "Size: %.1f × %.1f mm"
msgstr "Dydis: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primityvas"
# AI Translated
msgid "Empty mesh generated"
msgstr "Sugeneruotas tuščias poligoninis tinklas"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Dėžė"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Greitai:"
# AI Translated
msgid "Width (X)"
msgstr "Plotis (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Gylis (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Aukštis (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Apat. R"
# AI Translated
msgid "Top R"
msgstr "Viršut. R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Didysis R"
# AI Translated
msgid "Minor R"
msgstr "Mažasis R"
# AI Translated
msgid "All edges"
msgstr "Visos briaunos"
# AI Translated
msgid "Top edges"
msgstr "Viršutinės briaunos"
# AI Translated
msgid "Bottom edges"
msgstr "Apatinės briaunos"
# AI Translated
msgid "Lateral edges"
msgstr "Šoninės briaunos"
# AI Translated
msgid "Mesh resolution"
msgstr "Tinklelio raiška"
# AI Translated
msgid "Add Shape"
msgstr "Pridėti formą"
# AI Translated
msgid "No outer profile"
msgstr "Nėra išorinio profilio"
# AI Translated
msgid "Failed to make outer face"
msgstr "Nepavyko sukurti išorinio paviršiaus"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Nepavyko sukurti paviršiaus su skylėmis"
# AI Translated
msgid "Revolve failed"
msgstr "Apsukimas nepavyko"
# AI Translated
msgid "Profile"
msgstr "Profilis"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Pradėti naują profilį (skylėms)"
# AI Translated
msgid "Segments"
msgstr "Segmentai"
# AI Translated
msgid "Sides"
msgstr "Kraštinės"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Spustelėkite drobėje, kad pieštumėte"
# AI Translated
msgid "Snap to grid"
msgstr "Pritraukti prie tinklelio"
# AI Translated
msgid "Grid step"
msgstr "Tinklelio žingsnis"
# AI Translated
msgid "Outer"
msgstr "Išorinis"
# AI Translated
msgid "closed"
msgstr "uždaras"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% tšk. %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (viršus)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (priekis)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (šonas)"
# AI Translated
msgid "Revolve deg"
msgstr "Apsukimo kampas"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0 – išspaudimas, >0 – apsukimas"
# AI Translated
msgid "Pocket (cut)"
msgstr "Įduba (pjūvis)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu uždaras profilis"
msgstr[1] "%zu uždari profiliai"
msgstr[2] "%zu uždarų profilių"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Nubrėžkite uždarą profilį, kad įjungtumėte"
# AI Translated
msgid "Clear all"
msgstr "Išvalyti viską"
# AI Translated
msgid "Empty result"
msgstr "Tuščias rezultatas"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Išspaudimas: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Apsukimas: %1%"
# AI Translated
msgid "No object selected"
msgstr "Nepasirinktas joks objektas"
# AI Translated
msgid "Face failed"
msgstr "Nepavyko sukurti paviršiaus"
# AI Translated
msgid "Face with holes failed"
msgstr "Nepavyko sukurti paviršiaus su skylėmis"
# AI Translated
msgid "Tool mesh empty"
msgstr "Įrankio tinklelis tuščias"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Įduba pridėta (neigiamas tūris)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Įduba: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30336,6 +30152,10 @@ msgstr "Įjungti kūrėjo įrankius"
msgid "An error occurred loading %s"
msgstr "Įvyko klaida įkeliant %s"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31016,6 +30836,210 @@ msgstr ""
"Venkite deformacijų (warping)\n"
"Ar žinojote, kad spausdinant medžiagas, kurios yra linkusios trauktis ir riestis (pvz., ABS), tinkamas kaitinamojo pagrindo temperatūros padidinimas gali sumažinti deformacijų (warping) tikimybę?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primityvas"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Sugeneruotas tuščias poligoninis tinklas"
# AI Translated
#~ msgid "Box"
#~ msgstr "Dėžė"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Greitai:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Plotis (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Gylis (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Aukštis (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Apat. R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Viršut. R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Didysis R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Mažasis R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Visos briaunos"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Viršutinės briaunos"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Apatinės briaunos"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Šoninės briaunos"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Tinklelio raiška"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Pridėti formą"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Nėra išorinio profilio"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Nepavyko sukurti išorinio paviršiaus"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Nepavyko sukurti paviršiaus su skylėmis"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Apsukimas nepavyko"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profilis"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Pradėti naują profilį (skylėms)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmentai"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Kraštinės"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Spustelėkite drobėje, kad pieštumėte"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Pritraukti prie tinklelio"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Tinklelio žingsnis"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Išorinis"
# AI Translated
#~ msgid "closed"
#~ msgstr "uždaras"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% tšk. %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (viršus)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (priekis)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (šonas)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Apsukimo kampas"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0 – išspaudimas, >0 – apsukimas"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Įduba (pjūvis)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu uždaras profilis"
#~ msgstr[1] "%zu uždari profiliai"
#~ msgstr[2] "%zu uždarų profilių"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Nubrėžkite uždarą profilį, kad įjungtumėte"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Išvalyti viską"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Tuščias rezultatas"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Išspaudimas: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Apsukimas: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Nepasirinktas joks objektas"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Nepavyko sukurti paviršiaus"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Nepavyko sukurti paviršiaus su skylėmis"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Įrankio tinklelis tuščias"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Įduba pridėta (neigiamas tūris)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Įduba: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Eksperimentinė) Naudoti spausdintuvo agentus vietoj spausdinimo serverių"
@@ -32077,10 +32101,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Įvyko klaida įkeliant "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -4719,6 +4719,9 @@ msgstr "Weet u zeker dat u de filamentinformatie wilt wissen?"
msgid "You need to select the material type and color first."
msgstr "U moet eerst het materiaaltype en de kleur selecteren."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
# AI Translated
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
@@ -6743,7 +6746,7 @@ msgid "Size:"
msgstr "Maat:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Er zijn conflicten tussen G-code-paden gevonden op laag %d, Z = %.2lfmm. Plaats de conflicterende objecten verder uit elkaar (%s <-> %s)."
@@ -7683,6 +7686,22 @@ msgstr "Het .gcode.3mf-bestand bevat geen G-code-gegevens. Slice het met Orca Sl
msgid "File '%s' was lost! Please download it again."
msgstr "Bestand '%s' is verloren gegaan! Download het opnieuw."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -12028,6 +12047,12 @@ msgstr "Timelapse annuleren en printen"
msgid "Clean Up"
msgstr "Opruimen"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Print opdracht voorbereiden"
@@ -28928,214 +28953,6 @@ msgstr "Dit lettertype heeft geen omtrek voor deze tekst"
msgid "Size: %.1f × %.1f mm"
msgstr "Grootte: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitief"
# AI Translated
msgid "Empty mesh generated"
msgstr "Lege mesh gegenereerd"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Blok"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Snel:"
# AI Translated
msgid "Width (X)"
msgstr "Breedte (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Diepte (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Hoogte (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R onder"
# AI Translated
msgid "Top R"
msgstr "R boven"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Grote R"
# AI Translated
msgid "Minor R"
msgstr "Kleine R"
# AI Translated
msgid "All edges"
msgstr "Alle randen"
# AI Translated
msgid "Top edges"
msgstr "Bovenranden"
# AI Translated
msgid "Bottom edges"
msgstr "Onderranden"
# AI Translated
msgid "Lateral edges"
msgstr "Zijranden"
# AI Translated
msgid "Mesh resolution"
msgstr "Meshresolutie"
# AI Translated
msgid "Add Shape"
msgstr "Vorm toevoegen"
# AI Translated
msgid "No outer profile"
msgstr "Geen buitenprofiel"
# AI Translated
msgid "Failed to make outer face"
msgstr "Kan het buitenvlak niet maken"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Kan het vlak met gaten niet opbouwen"
# AI Translated
msgid "Revolve failed"
msgstr "Wentelen mislukt"
# AI Translated
msgid "Profile"
msgstr "Profiel"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Nieuw profiel beginnen (voor gaten)"
# AI Translated
msgid "Segments"
msgstr "Segmenten"
# AI Translated
msgid "Sides"
msgstr "Zijden"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Klik op het canvas om te tekenen"
# AI Translated
msgid "Snap to grid"
msgstr "Uitlijnen op raster"
# AI Translated
msgid "Grid step"
msgstr "Rasterstap"
# AI Translated
msgid "Outer"
msgstr "Buiten"
# AI Translated
msgid "closed"
msgstr "gesloten"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% punten %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (boven)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (voor)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (zijkant)"
# AI Translated
msgid "Revolve deg"
msgstr "Wentelhoek (°)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Zet op 0 om te extruderen, >0 om te wentelen"
# AI Translated
msgid "Pocket (cut)"
msgstr "Uitsparing (snijden)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu gesloten profiel"
msgstr[1] "%zu gesloten profielen"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Teken een gesloten profiel om dit in te schakelen"
# AI Translated
msgid "Clear all"
msgstr "Alles wissen"
# AI Translated
msgid "Empty result"
msgstr "Leeg resultaat"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extruderen: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Wentelen: %1%"
# AI Translated
msgid "No object selected"
msgstr "Geen object geselecteerd"
# AI Translated
msgid "Face failed"
msgstr "Vlak mislukt"
# AI Translated
msgid "Face with holes failed"
msgstr "Vlak met gaten mislukt"
# AI Translated
msgid "Tool mesh empty"
msgstr "Gereedschapsmesh leeg"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Uitsparing toegevoegd (negatief volume)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Uitsparing: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -32534,6 +32351,9 @@ msgstr "Ontwikkelaarstools inschakelen"
msgid "An error occurred loading %s"
msgstr "Er is een fout opgetreden bij het laden van %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -33214,6 +33034,209 @@ msgstr ""
"Kromtrekken voorkomen\n"
"Wist je dat bij het printen van materialen die gevoelig zijn voor kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het warmtebed de kans op kromtrekken kan verkleinen?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitief"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Lege mesh gegenereerd"
# AI Translated
#~ msgid "Box"
#~ msgstr "Blok"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Snel:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Breedte (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Diepte (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Hoogte (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R onder"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R boven"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Grote R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Kleine R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Alle randen"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Bovenranden"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Onderranden"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Zijranden"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Meshresolutie"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Vorm toevoegen"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Geen buitenprofiel"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Kan het buitenvlak niet maken"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Kan het vlak met gaten niet opbouwen"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Wentelen mislukt"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profiel"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Nieuw profiel beginnen (voor gaten)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmenten"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Zijden"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Klik op het canvas om te tekenen"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Uitlijnen op raster"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Rasterstap"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Buiten"
# AI Translated
#~ msgid "closed"
#~ msgstr "gesloten"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% punten %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (boven)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (voor)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (zijkant)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Wentelhoek (°)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Zet op 0 om te extruderen, >0 om te wentelen"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Uitsparing (snijden)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu gesloten profiel"
#~ msgstr[1] "%zu gesloten profielen"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Teken een gesloten profiel om dit in te schakelen"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Alles wissen"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Leeg resultaat"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extruderen: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Wentelen: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Geen object geselecteerd"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Vlak mislukt"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Vlak met gaten mislukt"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Gereedschapsmesh leeg"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Uitsparing toegevoegd (negatief volume)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Uitsparing: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimenteel) Printeragents gebruiken in plaats van printhosts"
@@ -34333,9 +34356,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Er is een fout opgetreden bij het laden van "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+234 -214
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OrcaSlicer 2.3.0-rc\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: Krzysztof Morga <<tlumaczeniebs@gmail.com>>\n"
"Language-Team: \n"
@@ -4438,6 +4438,9 @@ msgstr "Czy na pewno usunąć informacje o filamentach?"
msgid "You need to select the material type and color first."
msgstr "Najpierw należy wybrać rodzaj i kolor filamentu."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Proszę podać prawidłową wartość (K w zakresie %.1f~%.1f)"
@@ -6338,7 +6341,7 @@ msgstr "Objętość:"
msgid "Size:"
msgstr "Rozmiar:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Wykryto konflikty ścieżek G-code na warstwie %d, Z = %.2lfmm. Proszę oddalić od siebie obiekty będące w konflikcie (%s <-> %s)."
@@ -7235,6 +7238,22 @@ msgstr "Plik .gcode.3mf nie zawiera danych G-code. Proszę poddać go obróbce w
msgid "File '%s' was lost! Please download it again."
msgstr "Plik „%s” został utracony! Proszę pobrać go ponownie."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11413,6 +11432,12 @@ msgstr "Anuluj timelapse i drukuj"
msgid "Clean Up"
msgstr "Wyczyść"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Przygotowywanie zadania do druku"
@@ -27480,215 +27505,6 @@ msgstr "Ta czcionka nie ma konturu dla tego tekstu"
msgid "Size: %.1f × %.1f mm"
msgstr "Rozmiar: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Prymityw"
# AI Translated
msgid "Empty mesh generated"
msgstr "Wygenerowano pustą siatkę"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Prostopadłościan"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Szybki wybór:"
# AI Translated
msgid "Width (X)"
msgstr "Szerokość (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Głębokość (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Wysokość (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R dolny"
# AI Translated
msgid "Top R"
msgstr "R górny"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R większy"
# AI Translated
msgid "Minor R"
msgstr "R mniejszy"
# AI Translated
msgid "All edges"
msgstr "Wszystkie krawędzie"
# AI Translated
msgid "Top edges"
msgstr "Górne krawędzie"
# AI Translated
msgid "Bottom edges"
msgstr "Dolne krawędzie"
# AI Translated
msgid "Lateral edges"
msgstr "Boczne krawędzie"
# AI Translated
msgid "Mesh resolution"
msgstr "Rozdzielczość siatki"
# AI Translated
msgid "Add Shape"
msgstr "Dodaj kształt"
# AI Translated
msgid "No outer profile"
msgstr "Brak profilu zewnętrznego"
# AI Translated
msgid "Failed to make outer face"
msgstr "Nie udało się utworzyć powierzchni zewnętrznej"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Nie udało się zbudować powierzchni z otworami"
# AI Translated
msgid "Revolve failed"
msgstr "Obrót nie powiódł się"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Rozpocznij nowy profil (dla otworów)"
# AI Translated
msgid "Segments"
msgstr "Segmenty"
# AI Translated
msgid "Sides"
msgstr "Boki"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Kliknij w widoku, aby rysować"
# AI Translated
msgid "Snap to grid"
msgstr "Przyciągaj do siatki"
# AI Translated
msgid "Grid step"
msgstr "Krok siatki"
# AI Translated
msgid "Outer"
msgstr "Zewnętrzny"
# AI Translated
msgid "closed"
msgstr "zamknięty"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% pkt %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (góra)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (przód)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (bok)"
# AI Translated
msgid "Revolve deg"
msgstr "Obrót (°)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Ustaw 0 dla wyciągnięcia, >0 dla obrotu"
# AI Translated
msgid "Pocket (cut)"
msgstr "Kieszeń (wycięcie)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu zamknięty profil"
msgstr[1] "%zu zamknięte profile"
msgstr[2] "%zu zamkniętych profili"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Narysuj zamknięty profil, aby włączyć"
# AI Translated
msgid "Clear all"
msgstr "Wyczyść wszystko"
# AI Translated
msgid "Empty result"
msgstr "Pusty wynik"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Wyciągnięcie: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Obrót: %1%"
# AI Translated
msgid "No object selected"
msgstr "Nie wybrano obiektu"
# AI Translated
msgid "Face failed"
msgstr "Nie udało się utworzyć powierzchni"
# AI Translated
msgid "Face with holes failed"
msgstr "Nie udało się utworzyć powierzchni z otworami"
# AI Translated
msgid "Tool mesh empty"
msgstr "Siatka narzędzia jest pusta"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Dodano kieszeń (objętość ujemna)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Kieszeń: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30988,6 +30804,9 @@ msgstr "Włącz narzędzia deweloperskie"
msgid "An error occurred loading %s"
msgstr "Wystąpił błąd podczas ładowania %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31667,6 +31486,210 @@ msgstr ""
"Unikaj odkształceń\n"
"Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Prymityw"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Wygenerowano pustą siatkę"
# AI Translated
#~ msgid "Box"
#~ msgstr "Prostopadłościan"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Szybki wybór:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Szerokość (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Głębokość (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Wysokość (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R dolny"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R górny"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R większy"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R mniejszy"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Wszystkie krawędzie"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Górne krawędzie"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Dolne krawędzie"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Boczne krawędzie"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Rozdzielczość siatki"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Dodaj kształt"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Brak profilu zewnętrznego"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Nie udało się utworzyć powierzchni zewnętrznej"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Nie udało się zbudować powierzchni z otworami"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Obrót nie powiódł się"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Rozpocznij nowy profil (dla otworów)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmenty"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Boki"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Kliknij w widoku, aby rysować"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Przyciągaj do siatki"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Krok siatki"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Zewnętrzny"
# AI Translated
#~ msgid "closed"
#~ msgstr "zamknięty"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% pkt %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (góra)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (przód)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (bok)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Obrót (°)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Ustaw 0 dla wyciągnięcia, >0 dla obrotu"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Kieszeń (wycięcie)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu zamknięty profil"
#~ msgstr[1] "%zu zamknięte profile"
#~ msgstr[2] "%zu zamkniętych profili"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Narysuj zamknięty profil, aby włączyć"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Wyczyść wszystko"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Pusty wynik"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Wyciągnięcie: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Obrót: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Nie wybrano obiektu"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Nie udało się utworzyć powierzchni"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Nie udało się utworzyć powierzchni z otworami"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Siatka narzędzia jest pusta"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Dodano kieszeń (objętość ujemna)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Kieszeń: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Eksperymentalne) Używaj agentów drukarki zamiast serwerów druku"
@@ -32698,9 +32721,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Wystąpił błąd podczas ładowania"
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+234 -214
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-07-26 11:14-0300\n"
"Last-Translator: Alexandre Folle de Menezes\n"
"Language-Team: Portuguese, Brazilian\n"
@@ -4184,6 +4184,9 @@ msgstr "Tem certeza de que deseja limpar as informações do filamento?"
msgid "You need to select the material type and color first."
msgstr "Você precisa selecionar o tipo e a cor do material primeiro."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Por favor insira um valor válido (K entre %.1f~%.1f)"
@@ -6012,7 +6015,7 @@ msgstr "Volume:"
msgid "Size:"
msgstr "Tamanho:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Foram encontrados conflitos de caminhos de G-code na camada %d, Z = %.2lfmm. Por favor, separe mais os objetos em conflito (%s <-> %s)."
@@ -6875,6 +6878,22 @@ msgstr "O arquivo .gcode.3mf não contém dados de G-code. Por favor, fatie com
msgid "File '%s' was lost! Please download it again."
msgstr "O arquivo '%s' foi perdido! Por favor, baixe-o novamente."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -10722,6 +10741,12 @@ msgstr "Cancelar Timelapse e Imprimir"
msgid "Clean Up"
msgstr "Limpar"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Preparando trabalho de impressão"
@@ -25968,214 +25993,6 @@ msgstr "Esta fonte não tem contorno para este texto"
msgid "Size: %.1f × %.1f mm"
msgstr "Tamanho: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitivo"
# AI Translated
msgid "Empty mesh generated"
msgstr "Malha vazia gerada"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Caixa"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Rápido:"
# AI Translated
msgid "Width (X)"
msgstr "Largura (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Profundidade (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Altura (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R inferior"
# AI Translated
msgid "Top R"
msgstr "R superior"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R maior"
# AI Translated
msgid "Minor R"
msgstr "R menor"
# AI Translated
msgid "All edges"
msgstr "Todas as arestas"
# AI Translated
msgid "Top edges"
msgstr "Arestas superiores"
# AI Translated
msgid "Bottom edges"
msgstr "Arestas inferiores"
# AI Translated
msgid "Lateral edges"
msgstr "Arestas laterais"
# AI Translated
msgid "Mesh resolution"
msgstr "Resolução da malha"
# AI Translated
msgid "Add Shape"
msgstr "Adicionar forma"
# AI Translated
msgid "No outer profile"
msgstr "Nenhum perfil externo"
# AI Translated
msgid "Failed to make outer face"
msgstr "Falha ao criar a face externa"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Falha ao construir a face com furos"
# AI Translated
msgid "Revolve failed"
msgstr "Falha na revolução"
# AI Translated
msgid "Profile"
msgstr "Perfil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Iniciar novo perfil (para furos)"
# AI Translated
msgid "Segments"
msgstr "Segmentos"
# AI Translated
msgid "Sides"
msgstr "Lados"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Clique na tela para desenhar"
# AI Translated
msgid "Snap to grid"
msgstr "Ajustar à grade"
# AI Translated
msgid "Grid step"
msgstr "Passo da grade"
# AI Translated
msgid "Outer"
msgstr "Externo"
# AI Translated
msgid "closed"
msgstr "fechado"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% pontos %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Topo)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Frente)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Lateral)"
# AI Translated
msgid "Revolve deg"
msgstr "Revolução (graus)"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Defina como 0 para extrusão, >0 para revolução"
# AI Translated
msgid "Pocket (cut)"
msgstr "Cavidade (corte)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu perfil fechado"
msgstr[1] "%zu perfis fechados"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Desenhe um perfil fechado para ativar"
# AI Translated
msgid "Clear all"
msgstr "Limpar tudo"
# AI Translated
msgid "Empty result"
msgstr "Resultado vazio"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extrusão: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Revolução: %1%"
# AI Translated
msgid "No object selected"
msgstr "Nenhum objeto selecionado"
# AI Translated
msgid "Face failed"
msgstr "Falha na face"
# AI Translated
msgid "Face with holes failed"
msgstr "Falha na face com furos"
# AI Translated
msgid "Tool mesh empty"
msgstr "Malha da ferramenta vazia"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Cavidade adicionada (volume negativo)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Cavidade: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -29560,6 +29377,10 @@ msgstr "Ativar Ferramentas de Desenvolvedor"
msgid "An error occurred loading %s"
msgstr "Ocorreu um erro ao carregar %s"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30239,6 +30060,209 @@ msgstr ""
"Evitar empenamento\n"
"Você sabia que ao imprimir materiais propensos ao empenamento como ABS, aumentar adequadamente a temperatura da mesa aquecida pode reduzir a probabilidade de empenamento?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitivo"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Malha vazia gerada"
# AI Translated
#~ msgid "Box"
#~ msgstr "Caixa"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Rápido:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Largura (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Profundidade (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Altura (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R inferior"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R superior"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R maior"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R menor"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Todas as arestas"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Arestas superiores"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Arestas inferiores"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Arestas laterais"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Resolução da malha"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Adicionar forma"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Nenhum perfil externo"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Falha ao criar a face externa"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Falha ao construir a face com furos"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Falha na revolução"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Perfil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Iniciar novo perfil (para furos)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmentos"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Lados"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Clique na tela para desenhar"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Ajustar à grade"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Passo da grade"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Externo"
# AI Translated
#~ msgid "closed"
#~ msgstr "fechado"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% pontos %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Topo)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Frente)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Lateral)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Revolução (graus)"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Defina como 0 para extrusão, >0 para revolução"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Cavidade (corte)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu perfil fechado"
#~ msgstr[1] "%zu perfis fechados"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Desenhe um perfil fechado para ativar"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Limpar tudo"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Resultado vazio"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extrusão: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Revolução: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Nenhum objeto selecionado"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Falha na face"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Falha na face com furos"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Malha da ferramenta vazia"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Cavidade adicionada (volume negativo)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Cavidade: %1%"
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimental) Usar agentes de impressora em vez de hosts de impressão"
@@ -31292,10 +31316,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Ocorreu um erro ao carregar "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+234 -214
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OrcaSlicer V2.5.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-02-25 13:38+0300\n"
"Last-Translator: Felix14_v2\n"
"Language-Team: Felix14_v2 (ДС/ТГ: @felix14_v2, почта: aleks111001@list.ru), Andylg <andylg@yandex.ru>\n"
@@ -4319,6 +4319,9 @@ msgstr "Вы действительно хотите удалить информ
msgid "You need to select the material type and color first."
msgstr "Сначала нужно выбрать тип материала и цвет."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Пожалуйста, введите допустимое значение (K в диапазоне %.1f~%.1f)"
@@ -6230,7 +6233,7 @@ msgstr "Объём:"
msgid "Size:"
msgstr "Размер:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "В G-code на %d слое (z = %.2lf мм) обнаружен конфликт путей. Пожалуйста, разместите конфликтующие модели дальше друг от друга (%s <-> %s)."
@@ -7141,6 +7144,22 @@ msgstr "Файл .gcode.3mf не содержит данных G-code. Испо
msgid "File '%s' was lost! Please download it again."
msgstr "Файл '%s' потерян! Пожалуйста, загрузите его снова."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11147,6 +11166,12 @@ msgstr "Отключить таймлапс и продолжить"
msgid "Clean Up"
msgstr "Очистить"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Подготовка задания на печать"
@@ -27231,215 +27256,6 @@ msgstr "В этом шрифте нет контуров символов это
msgid "Size: %.1f × %.1f mm"
msgstr "Размер: %.1f × %.1f мм"
# AI Translated
msgid "Primitive"
msgstr "Фигура"
# AI Translated
msgid "Empty mesh generated"
msgstr "Создана пустая сетка"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Параллелепипед"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Быстрый выбор:"
# AI Translated
msgid "Width (X)"
msgstr "Ширина (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Глубина (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Высота (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Нижний R"
# AI Translated
msgid "Top R"
msgstr "Верхний R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Большой R"
# AI Translated
msgid "Minor R"
msgstr "Малый R"
# AI Translated
msgid "All edges"
msgstr "Все рёбра"
# AI Translated
msgid "Top edges"
msgstr "Верхние рёбра"
# AI Translated
msgid "Bottom edges"
msgstr "Нижние рёбра"
# AI Translated
msgid "Lateral edges"
msgstr "Боковые рёбра"
# AI Translated
msgid "Mesh resolution"
msgstr "Разрешение сетки"
# AI Translated
msgid "Add Shape"
msgstr "Добавить фигуру"
# AI Translated
msgid "No outer profile"
msgstr "Нет внешнего профиля"
# AI Translated
msgid "Failed to make outer face"
msgstr "Не удалось создать внешнюю грань"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Не удалось построить грань с отверстиями"
# AI Translated
msgid "Revolve failed"
msgstr "Ошибка вращения"
# AI Translated
msgid "Profile"
msgstr "Профиль"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Начать новый профиль (для отверстий)"
# AI Translated
msgid "Segments"
msgstr "Сегменты"
# AI Translated
msgid "Sides"
msgstr "Стороны"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Щёлкайте в рабочем пространстве, чтобы рисовать"
# AI Translated
msgid "Snap to grid"
msgstr "Привязка к сетке"
# AI Translated
msgid "Grid step"
msgstr "Шаг сетки"
# AI Translated
msgid "Outer"
msgstr "Внешний"
# AI Translated
msgid "closed"
msgstr "замкнутый"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2% (точек: %3%) %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (сверху)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (спереди)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (сбоку)"
# AI Translated
msgid "Revolve deg"
msgstr "Угол вращения, °"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0 — выдавливание, >0 — вращение"
# AI Translated
msgid "Pocket (cut)"
msgstr "Карман (вырез)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu замкнутый профиль"
msgstr[1] "%zu замкнутых профиля"
msgstr[2] "%zu замкнутых профилей"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Нарисуйте замкнутый профиль, чтобы включить"
# AI Translated
msgid "Clear all"
msgstr "Очистить всё"
# AI Translated
msgid "Empty result"
msgstr "Пустой результат"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Выдавливание: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Вращение: %1%"
# AI Translated
msgid "No object selected"
msgstr "Модель не выбрана"
# AI Translated
msgid "Face failed"
msgstr "Ошибка построения грани"
# AI Translated
msgid "Face with holes failed"
msgstr "Ошибка построения грани с отверстиями"
# AI Translated
msgid "Tool mesh empty"
msgstr "Сетка инструмента пуста"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Карман добавлен (вырез)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Карман: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30827,6 +30643,9 @@ msgstr "Включить инструменты разработчика"
msgid "An error occurred loading %s"
msgstr "Ошибка при загрузке %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31504,6 +31323,210 @@ msgstr ""
"Предотвращение коробления материала\n"
"Знаете ли вы, что при печати материалами, склонными к короблению, таких как ABS, повышение температуры подогреваемого стола может снизить эту вероятность?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Фигура"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Создана пустая сетка"
# AI Translated
#~ msgid "Box"
#~ msgstr "Параллелепипед"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Быстрый выбор:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Ширина (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Глубина (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Высота (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Нижний R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Верхний R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Большой R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Малый R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Все рёбра"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Верхние рёбра"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Нижние рёбра"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Боковые рёбра"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Разрешение сетки"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Добавить фигуру"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Нет внешнего профиля"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Не удалось создать внешнюю грань"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Не удалось построить грань с отверстиями"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Ошибка вращения"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Профиль"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Начать новый профиль (для отверстий)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Сегменты"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Стороны"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Щёлкайте в рабочем пространстве, чтобы рисовать"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Привязка к сетке"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Шаг сетки"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Внешний"
# AI Translated
#~ msgid "closed"
#~ msgstr "замкнутый"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2% (точек: %3%) %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (сверху)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (спереди)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (сбоку)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Угол вращения, °"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0 — выдавливание, >0 — вращение"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Карман (вырез)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu замкнутый профиль"
#~ msgstr[1] "%zu замкнутых профиля"
#~ msgstr[2] "%zu замкнутых профилей"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Нарисуйте замкнутый профиль, чтобы включить"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Очистить всё"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Пустой результат"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Выдавливание: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Вращение: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Модель не выбрана"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Ошибка построения грани"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Ошибка построения грани с отверстиями"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Сетка инструмента пуста"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Карман добавлен (вырез)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Карман: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Экспериментально) Использовать агентов принтера вместо хостов печати"
@@ -32571,9 +32594,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Ошибка при загрузке "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -4784,6 +4784,9 @@ msgstr "Är du säker på att du vill rensa filament informationen?"
msgid "You need to select the material type and color first."
msgstr "Du måste först välja materialtyp och färg."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
# AI Translated
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
@@ -6837,7 +6840,7 @@ msgid "Size:"
msgstr "Storlek:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Konflikter mellan G-code-banor hittades på lager %d, Z = %.2lfmm. Placera de objekt som krockar längre ifrån varandra (%s <-> %s)."
@@ -7778,6 +7781,22 @@ msgstr "Filen .gcode.3mf innehåller inga G-code-data. Bered den med Orca Slicer
msgid "File '%s' was lost! Please download it again."
msgstr "Filen '%s' förlorades! Ladda ner den igen."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
# AI Translated
#, c-format, boost-format
msgid ""
@@ -12177,6 +12196,12 @@ msgstr "Avbryt timelapse och skriv ut"
msgid "Clean Up"
msgstr "Rensa"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Förbereder utskriftsjobb"
@@ -29271,214 +29296,6 @@ msgstr "Det här teckensnittet har ingen kontur för den här texten"
msgid "Size: %.1f × %.1f mm"
msgstr "Storlek: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Primitiv"
# AI Translated
msgid "Empty mesh generated"
msgstr "Tom mesh genererades"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Låda"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Förval:"
# AI Translated
msgid "Width (X)"
msgstr "Bredd (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Djup (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Höjd (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Nedre R"
# AI Translated
msgid "Top R"
msgstr "Övre R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Stor R"
# AI Translated
msgid "Minor R"
msgstr "Liten R"
# AI Translated
msgid "All edges"
msgstr "Alla kanter"
# AI Translated
msgid "Top edges"
msgstr "Övre kanter"
# AI Translated
msgid "Bottom edges"
msgstr "Nedre kanter"
# AI Translated
msgid "Lateral edges"
msgstr "Sidokanter"
# AI Translated
msgid "Mesh resolution"
msgstr "Meshupplösning"
# AI Translated
msgid "Add Shape"
msgstr "Lägg till form"
# AI Translated
msgid "No outer profile"
msgstr "Ingen yttre profil"
# AI Translated
msgid "Failed to make outer face"
msgstr "Det gick inte att skapa den yttre ytan"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Det gick inte att skapa en yta med hål"
# AI Translated
msgid "Revolve failed"
msgstr "Rotationen misslyckades"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Starta ny profil (för hål)"
# AI Translated
msgid "Segments"
msgstr "Segment"
# AI Translated
msgid "Sides"
msgstr "Sidor"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Klicka i vyn för att rita"
# AI Translated
msgid "Snap to grid"
msgstr "Fäst mot rutnät"
# AI Translated
msgid "Grid step"
msgstr "Rutnätssteg"
# AI Translated
msgid "Outer"
msgstr "Yttre"
# AI Translated
msgid "closed"
msgstr "sluten"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% punkter %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Topp)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Front)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Sida)"
# AI Translated
msgid "Revolve deg"
msgstr "Rotationsvinkel"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Ange 0 för extrudering, >0 för rotation"
# AI Translated
msgid "Pocket (cut)"
msgstr "Ficka (skär)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu sluten profil"
msgstr[1] "%zu slutna profiler"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Rita en sluten profil för att aktivera"
# AI Translated
msgid "Clear all"
msgstr "Rensa alla"
# AI Translated
msgid "Empty result"
msgstr "Tomt resultat"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Extrudera: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Rotera: %1%"
# AI Translated
msgid "No object selected"
msgstr "Inget objekt valt"
# AI Translated
msgid "Face failed"
msgstr "Det gick inte att skapa ytan"
# AI Translated
msgid "Face with holes failed"
msgstr "Det gick inte att skapa ytan med hål"
# AI Translated
msgid "Tool mesh empty"
msgstr "Verktygets mesh är tom"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Ficka tillagd (negativ volym)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Ficka: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -32868,6 +32685,9 @@ msgstr "Aktivera utvecklarverktyg"
msgid "An error occurred loading %s"
msgstr "Ett fel uppstod vid inläsning av %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -33562,6 +33382,209 @@ msgstr ""
"Undvik vridning\n"
"Visste du att när du skriver ut material som är benägna att vrida, såsom ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten för vridning?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Primitiv"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Tom mesh genererades"
# AI Translated
#~ msgid "Box"
#~ msgstr "Låda"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Förval:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Bredd (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Djup (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Höjd (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Nedre R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Övre R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Stor R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Liten R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Alla kanter"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Övre kanter"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Nedre kanter"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Sidokanter"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Meshupplösning"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Lägg till form"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Ingen yttre profil"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Det gick inte att skapa den yttre ytan"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Det gick inte att skapa en yta med hål"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Rotationen misslyckades"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Starta ny profil (för hål)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segment"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Sidor"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Klicka i vyn för att rita"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Fäst mot rutnät"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Rutnätssteg"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Yttre"
# AI Translated
#~ msgid "closed"
#~ msgstr "sluten"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% punkter %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Topp)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Front)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Sida)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Rotationsvinkel"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Ange 0 för extrudering, >0 för rotation"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Ficka (skär)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu sluten profil"
#~ msgstr[1] "%zu slutna profiler"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Rita en sluten profil för att aktivera"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Rensa alla"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Tomt resultat"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Extrudera: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Rotera: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Inget objekt valt"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Det gick inte att skapa ytan"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Det gick inte att skapa ytan med hål"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Verktygets mesh är tom"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Ficka tillagd (negativ volym)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Ficka: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Experimentellt) Använd skrivaragenter i stället för utskriftsvärdar"
@@ -34687,9 +34710,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Ett fel uppstod vid inläsning av "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-06-19 13:40+0700\n"
"Last-Translator: Icezaza\n"
"Language-Team: Thai\n"
@@ -4332,6 +4332,9 @@ msgstr "คุณแน่ใจหรือไม่ว่าต้องกา
msgid "You need to select the material type and color first."
msgstr "คุณต้องเลือกประเภทวัสดุและสีก่อน"
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "โปรดป้อนค่าที่ถูกต้อง (K อยู่ในช่วง %.1f~%.1f)"
@@ -6189,7 +6192,7 @@ msgid "Size:"
msgstr "ขนาด:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "พบความขัดแย้งของเส้นทาง G-code ที่เลเยอร์ %d, Z = %.2lfmm โปรดแยกวัตถุที่ขัดแย้งกันให้ไกลออกไป (%s <-> %s)"
@@ -7058,6 +7061,22 @@ msgstr "ไฟล์ .gcode.3mf ไม่มีข้อมูล G-code โป
msgid "File '%s' was lost! Please download it again."
msgstr "ไฟล์ '%s' สูญหาย! กรุณาดาวน์โหลดอีกครั้ง."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11065,6 +11084,12 @@ msgstr "ยกเลิกไทม์แลปส์และพิมพ์"
msgid "Clean Up"
msgstr "ล้าง"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "กำลังเตรียมงานพิมพ์"
@@ -26617,213 +26642,6 @@ msgstr "แบบอักษรนี้ไม่มีเส้นขอบส
msgid "Size: %.1f × %.1f mm"
msgstr "ขนาด: %.1f × %.1f มม."
# AI Translated
msgid "Primitive"
msgstr "รูปทรงพื้นฐาน"
# AI Translated
msgid "Empty mesh generated"
msgstr "สร้างเมชว่างเปล่า"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "กล่อง"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "ขนาดด่วน:"
# AI Translated
msgid "Width (X)"
msgstr "ความกว้าง (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "ความลึก (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "ความสูง (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R ล่าง"
# AI Translated
msgid "Top R"
msgstr "R บน"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R หลัก"
# AI Translated
msgid "Minor R"
msgstr "R รอง"
# AI Translated
msgid "All edges"
msgstr "ขอบทั้งหมด"
# AI Translated
msgid "Top edges"
msgstr "ขอบบน"
# AI Translated
msgid "Bottom edges"
msgstr "ขอบล่าง"
# AI Translated
msgid "Lateral edges"
msgstr "ขอบด้านข้าง"
# AI Translated
msgid "Mesh resolution"
msgstr "ความละเอียดเมช"
# AI Translated
msgid "Add Shape"
msgstr "เพิ่มรูปทรง"
# AI Translated
msgid "No outer profile"
msgstr "ไม่มีโปรไฟล์ด้านนอก"
# AI Translated
msgid "Failed to make outer face"
msgstr "ไม่สามารถสร้างผิวหน้าด้านนอกได้"
# AI Translated
msgid "Failed to build face with holes"
msgstr "ไม่สามารถสร้างผิวหน้าที่มีรูได้"
# AI Translated
msgid "Revolve failed"
msgstr "หมุนขึ้นรูปล้มเหลว"
# AI Translated
msgid "Profile"
msgstr "โปรไฟล์"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "เริ่มโปรไฟล์ใหม่ (สำหรับรู)"
# AI Translated
msgid "Segments"
msgstr "เซกเมนต์"
# AI Translated
msgid "Sides"
msgstr "ด้าน"
# AI Translated
msgid "Click on canvas to draw"
msgstr "คลิกบนพื้นที่วาดเพื่อวาด"
# AI Translated
msgid "Snap to grid"
msgstr "สแน็ปกับกริด"
# AI Translated
msgid "Grid step"
msgstr "ระยะกริด"
# AI Translated
msgid "Outer"
msgstr "ด้านนอก"
# AI Translated
msgid "closed"
msgstr "แบบปิด"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% จุด %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (บน)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (ด้านหน้า)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (ด้านข้าง)"
# AI Translated
msgid "Revolve deg"
msgstr "องศาหมุนขึ้นรูป"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "ตั้งเป็น 0 เพื่อยืดขึ้นรูป, >0 เพื่อหมุนขึ้นรูป"
# AI Translated
msgid "Pocket (cut)"
msgstr "ช่องเว้า (ตัด)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "โปรไฟล์ปิด %zu รายการ"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "วาดโปรไฟล์ปิดเพื่อเปิดใช้งาน"
# AI Translated
msgid "Clear all"
msgstr "ล้างทั้งหมด"
# AI Translated
msgid "Empty result"
msgstr "ผลลัพธ์ว่างเปล่า"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "ยืดขึ้นรูป: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "หมุนขึ้นรูป: %1%"
# AI Translated
msgid "No object selected"
msgstr "ไม่ได้เลือกวัตถุ"
# AI Translated
msgid "Face failed"
msgstr "สร้างผิวหน้าล้มเหลว"
# AI Translated
msgid "Face with holes failed"
msgstr "สร้างผิวหน้าที่มีรูล้มเหลว"
# AI Translated
msgid "Tool mesh empty"
msgstr "เมชเครื่องมือว่างเปล่า"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "เพิ่มช่องเว้าแล้ว (วอลลุ่มเชิงลบ)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "ช่องเว้า: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30216,6 +30034,10 @@ msgstr "เปิดใช้งานเครื่องมือนักพ
msgid "An error occurred loading %s"
msgstr "เกิดข้อผิดพลาดในการโหลด %s"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30895,6 +30717,208 @@ msgstr ""
"หลีกเลี่ยงการบิดเบี้ยว\n"
"คุณรู้หรือไม่ว่าเมื่อพิมพ์วัสดุที่มีแนวโน้มที่จะเกิดการบิดเบี้ยว เช่น ABS การเพิ่มอุณหภูมิฐานพิมพ์อย่างเหมาะสมสามารถลดความน่าจะเป็นของการบิดเบี้ยวได้"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "รูปทรงพื้นฐาน"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "สร้างเมชว่างเปล่า"
# AI Translated
#~ msgid "Box"
#~ msgstr "กล่อง"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "ขนาดด่วน:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "ความกว้าง (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "ความลึก (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "ความสูง (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R ล่าง"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R บน"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R หลัก"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R รอง"
# AI Translated
#~ msgid "All edges"
#~ msgstr "ขอบทั้งหมด"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "ขอบบน"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "ขอบล่าง"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "ขอบด้านข้าง"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "ความละเอียดเมช"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "เพิ่มรูปทรง"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "ไม่มีโปรไฟล์ด้านนอก"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "ไม่สามารถสร้างผิวหน้าด้านนอกได้"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "ไม่สามารถสร้างผิวหน้าที่มีรูได้"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "หมุนขึ้นรูปล้มเหลว"
# AI Translated
#~ msgid "Profile"
#~ msgstr "โปรไฟล์"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "เริ่มโปรไฟล์ใหม่ (สำหรับรู)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "เซกเมนต์"
# AI Translated
#~ msgid "Sides"
#~ msgstr "ด้าน"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "คลิกบนพื้นที่วาดเพื่อวาด"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "สแน็ปกับกริด"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "ระยะกริด"
# AI Translated
#~ msgid "Outer"
#~ msgstr "ด้านนอก"
# AI Translated
#~ msgid "closed"
#~ msgstr "แบบปิด"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% จุด %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (บน)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (ด้านหน้า)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (ด้านข้าง)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "องศาหมุนขึ้นรูป"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "ตั้งเป็น 0 เพื่อยืดขึ้นรูป, >0 เพื่อหมุนขึ้นรูป"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "ช่องเว้า (ตัด)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "โปรไฟล์ปิด %zu รายการ"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "วาดโปรไฟล์ปิดเพื่อเปิดใช้งาน"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "ล้างทั้งหมด"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "ผลลัพธ์ว่างเปล่า"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "ยืดขึ้นรูป: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "หมุนขึ้นรูป: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "ไม่ได้เลือกวัตถุ"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "สร้างผิวหน้าล้มเหลว"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "สร้างผิวหน้าที่มีรูล้มเหลว"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "เมชเครื่องมือว่างเปล่า"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "เพิ่มช่องเว้าแล้ว (วอลลุ่มเชิงลบ)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "ช่องเว้า: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(ทดลอง) ใช้เอเจนต์เครื่องพิมพ์แทนโฮสต์การพิมพ์"
@@ -31952,10 +31976,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "เกิดข้อผิดพลาดในการโหลด "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+234 -214
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-08-21 23:18+0300\n"
"Last-Translator: GlauTech\n"
"Language-Team: \n"
@@ -4384,6 +4384,9 @@ msgstr "Filament bilgisini temizlemek istediğinizden emin misiniz?"
msgid "You need to select the material type and color first."
msgstr "Önce malzeme türünü ve rengini seçmeniz gerekir."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Lütfen geçerli bir değer girin (K %.1f~%.1f içinde)"
@@ -6255,7 +6258,7 @@ msgstr "Hacim:"
msgid "Size:"
msgstr "Boyut:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "%d katmanında G-code yollarında çakışmalar bulundu, Z = %.2lfmm. Lütfen çakışan nesneleri daha uzağa ayırın (%s <-> %s)."
@@ -7131,6 +7134,22 @@ msgstr ".gcode.3mf dosyası hiçbir G-code verisi içermiyor. Lütfen dosyayı B
msgid "File '%s' was lost! Please download it again."
msgstr "'%s' dosyası kayboldu! Lütfen tekrar indirin."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11201,6 +11220,12 @@ msgstr "Timelapse'i İptal Et ve Yazdır"
msgid "Clean Up"
msgstr "Temizle"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Yazdırma için hazırlanıyor"
@@ -27062,214 +27087,6 @@ msgstr "Bu yazı tipinde bu metin için dış hat yok"
msgid "Size: %.1f × %.1f mm"
msgstr "Boyut: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Şekil"
# AI Translated
msgid "Empty mesh generated"
msgstr "Boş mesh oluşturuldu"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Kutu"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Hızlı:"
# AI Translated
msgid "Width (X)"
msgstr "Genişlik (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Derinlik (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Yükseklik (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Alt R"
# AI Translated
msgid "Top R"
msgstr "Üst R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Büyük R"
# AI Translated
msgid "Minor R"
msgstr "Küçük R"
# AI Translated
msgid "All edges"
msgstr "Tüm kenarlar"
# AI Translated
msgid "Top edges"
msgstr "Üst kenarlar"
# AI Translated
msgid "Bottom edges"
msgstr "Alt kenarlar"
# AI Translated
msgid "Lateral edges"
msgstr "Yan kenarlar"
# AI Translated
msgid "Mesh resolution"
msgstr "Mesh çözünürlüğü"
# AI Translated
msgid "Add Shape"
msgstr "Şekil ekle"
# AI Translated
msgid "No outer profile"
msgstr "Dış profil yok"
# AI Translated
msgid "Failed to make outer face"
msgstr "Dış yüz oluşturulamadı"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Delikli yüz oluşturulamadı"
# AI Translated
msgid "Revolve failed"
msgstr "Döndürme başarısız oldu"
# AI Translated
msgid "Profile"
msgstr "Profil"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Yeni profil başlat (delikler için)"
# AI Translated
msgid "Segments"
msgstr "Segmentler"
# AI Translated
msgid "Sides"
msgstr "Kenar sayısı"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Çizmek için tuvale tıklayın"
# AI Translated
msgid "Snap to grid"
msgstr "Izgaraya yasla"
# AI Translated
msgid "Grid step"
msgstr "Izgara adımı"
# AI Translated
msgid "Outer"
msgstr "Dış"
# AI Translated
msgid "closed"
msgstr "kapalı"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% nokta %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Üst)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Ön)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Yan)"
# AI Translated
msgid "Revolve deg"
msgstr "Döndürme açısı"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Ekstrüzyon için 0, döndürme için >0 girin"
# AI Translated
msgid "Pocket (cut)"
msgstr "Cep (kes)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu kapalı profil"
msgstr[1] "%zu kapalı profil"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Etkinleştirmek için kapalı bir profil çizin"
# AI Translated
msgid "Clear all"
msgstr "Tümünü temizle"
# AI Translated
msgid "Empty result"
msgstr "Boş sonuç"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Ekstrüzyon: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Döndürme: %1%"
# AI Translated
msgid "No object selected"
msgstr "Nesne seçilmedi"
# AI Translated
msgid "Face failed"
msgstr "Yüz oluşturulamadı"
# AI Translated
msgid "Face with holes failed"
msgstr "Delikli yüz oluşturulamadı"
# AI Translated
msgid "Tool mesh empty"
msgstr "Araç mesh'i boş"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Cep eklendi (negatif hacim)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Cep: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30665,6 +30482,10 @@ msgstr "Geliştirici Araçlarını Etkinleştir"
msgid "An error occurred loading %s"
msgstr "%s yüklenirken bir hata oluştu"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31346,6 +31167,209 @@ msgstr ""
"Eğilmeyi önleyin\n"
"ABS gibi bükülmeye yatkın malzemelere baskı yaparken, ısıtma yatağı sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını azaltabileceğini biliyor muydunuz?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Şekil"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Boş mesh oluşturuldu"
# AI Translated
#~ msgid "Box"
#~ msgstr "Kutu"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Hızlı:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Genişlik (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Derinlik (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Yükseklik (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Alt R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Üst R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Büyük R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Küçük R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Tüm kenarlar"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Üst kenarlar"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Alt kenarlar"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Yan kenarlar"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Mesh çözünürlüğü"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Şekil ekle"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Dış profil yok"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Dış yüz oluşturulamadı"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Delikli yüz oluşturulamadı"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Döndürme başarısız oldu"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Profil"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Yeni profil başlat (delikler için)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Segmentler"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Kenar sayısı"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Çizmek için tuvale tıklayın"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Izgaraya yasla"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Izgara adımı"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Dış"
# AI Translated
#~ msgid "closed"
#~ msgstr "kapalı"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% nokta %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Üst)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Ön)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Yan)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Döndürme açısı"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Ekstrüzyon için 0, döndürme için >0 girin"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Cep (kes)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu kapalı profil"
#~ msgstr[1] "%zu kapalı profil"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Etkinleştirmek için kapalı bir profil çizin"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Tümünü temizle"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Boş sonuç"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Ekstrüzyon: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Döndürme: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Nesne seçilmedi"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Yüz oluşturulamadı"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Delikli yüz oluşturulamadı"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Araç mesh'i boş"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Cep eklendi (negatif hacim)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Cep: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Deneysel) Baskı sunucuları yerine yazıcı aracılarını kullan"
@@ -32401,10 +32425,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Yüklenirken bir hata oluştu: "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+235 -215
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: orcaslicerua\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-07-17 16:25+0300\n"
"Last-Translator: Andrij Mizyk <andm1zyk@proton.me>\n"
"Language-Team: Ukrainian\n"
@@ -4298,6 +4298,9 @@ msgstr "Ви впевнені, що хочете видалити інформа
msgid "You need to select the material type and color first."
msgstr "Спочатку потрібно вибрати тип матеріалу та колір."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Будь ласка введіть коректне значення (K в %.1f~%.1f)"
@@ -6209,7 +6212,7 @@ msgid "Size:"
msgstr "Розмір:"
# AI Translated
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Виявлено конфлікти шляхів G-code на шарі %d, Z = %.2lf мм. Будь ласка, рознесіть конфліктуючі обʼєкти далі один від одного (%s <-> %s)."
@@ -7100,6 +7103,22 @@ msgstr "Файл .gcode.3mf не містить даних G-code. Будь ла
msgid "File '%s' was lost! Please download it again."
msgstr "Файл '%s' втрачений! Завантажте його знову."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11218,6 +11237,12 @@ msgstr "Скасувати таймлапс і друкувати"
msgid "Clean Up"
msgstr "Очистити"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Підготовка завдання для друку"
@@ -27229,216 +27254,6 @@ msgstr "У цьому шрифті немає контурів символів
msgid "Size: %.1f × %.1f mm"
msgstr "Розмір: %.1f × %.1f мм"
# AI Translated
msgid "Primitive"
msgstr "Примітив"
# AI Translated
msgid "Empty mesh generated"
msgstr "Згенеровано порожню сітку"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Паралелепіпед"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Швидкий вибір:"
# AI Translated
msgid "Width (X)"
msgstr "Ширина (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Глибина (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Висота (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "Нижній R"
# AI Translated
msgid "Top R"
msgstr "Верхній R"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "Великий R"
# AI Translated
msgid "Minor R"
msgstr "Малий R"
# AI Translated
msgid "All edges"
msgstr "Усі ребра"
# AI Translated
msgid "Top edges"
msgstr "Верхні ребра"
# AI Translated
msgid "Bottom edges"
msgstr "Нижні ребра"
# AI Translated
msgid "Lateral edges"
msgstr "Бічні ребра"
# AI Translated
msgid "Mesh resolution"
msgstr "Роздільна здатність сітки"
# AI Translated
msgid "Add Shape"
msgstr "Додати форму"
# AI Translated
msgid "No outer profile"
msgstr "Немає зовнішнього профілю"
# AI Translated
msgid "Failed to make outer face"
msgstr "Не вдалося створити зовнішню грань"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Не вдалося побудувати грань з отворами"
# AI Translated
msgid "Revolve failed"
msgstr "Не вдалося виконати обертання"
# AI Translated
msgid "Profile"
msgstr "Профіль"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Почати новий профіль (для отворів)"
# AI Translated
msgid "Segments"
msgstr "Сегменти"
# AI Translated
msgid "Sides"
msgstr "Сторони"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Клацніть на полотні, щоб малювати"
# AI Translated
msgid "Snap to grid"
msgstr "Привʼязка до сітки"
# AI Translated
msgid "Grid step"
msgstr "Крок сітки"
# AI Translated
msgid "Outer"
msgstr "Зовнішній"
# AI Translated
msgid "closed"
msgstr "замкнений"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2% (точок: %3%) %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Верх)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Перед)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Бік)"
# AI Translated
msgid "Revolve deg"
msgstr "Обертання, °"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "0 — видавлювання, >0 — обертання"
# AI Translated
msgid "Pocket (cut)"
msgstr "Кишеня (вирізання)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu замкнений профіль"
msgstr[1] "%zu замкнені профілі"
msgstr[2] "%zu замкнених профілів"
msgstr[3] "%zu замкненого профілю"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Намалюйте замкнений профіль, щоб увімкнути"
# AI Translated
msgid "Clear all"
msgstr "Очистити все"
# AI Translated
msgid "Empty result"
msgstr "Порожній результат"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Видавлювання: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Обертання: %1%"
# AI Translated
msgid "No object selected"
msgstr "Не вибрано обʼєкт"
# AI Translated
msgid "Face failed"
msgstr "Не вдалося створити грань"
# AI Translated
msgid "Face with holes failed"
msgstr "Не вдалося створити грань з отворами"
# AI Translated
msgid "Tool mesh empty"
msgstr "Сітка інструмента порожня"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Кишеню додано (відʼємний обʼєм)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Кишеня: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30832,6 +30647,9 @@ msgstr "Увімкнути інструменти розробника"
msgid "An error occurred loading %s"
msgstr "Помилка під час завантаження %s"
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -31516,6 +31334,211 @@ msgstr ""
"Уникнення деформації\n"
"Чи знаєте ви, що при друку матеріалами, схильними до деформації, такими як ABS, відповідне підвищення температури столу може зменшити ймовірність деформації?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Примітив"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Згенеровано порожню сітку"
# AI Translated
#~ msgid "Box"
#~ msgstr "Паралелепіпед"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Швидкий вибір:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Ширина (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Глибина (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Висота (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "Нижній R"
# AI Translated
#~ msgid "Top R"
#~ msgstr "Верхній R"
# AI Translated
#~ msgid "Major R"
#~ msgstr "Великий R"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "Малий R"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Усі ребра"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Верхні ребра"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Нижні ребра"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Бічні ребра"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Роздільна здатність сітки"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Додати форму"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Немає зовнішнього профілю"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Не вдалося створити зовнішню грань"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Не вдалося побудувати грань з отворами"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Не вдалося виконати обертання"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Профіль"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Почати новий профіль (для отворів)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Сегменти"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Сторони"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Клацніть на полотні, щоб малювати"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Привʼязка до сітки"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Крок сітки"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Зовнішній"
# AI Translated
#~ msgid "closed"
#~ msgstr "замкнений"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2% (точок: %3%) %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Верх)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Перед)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Бік)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Обертання, °"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "0 — видавлювання, >0 — обертання"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Кишеня (вирізання)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu замкнений профіль"
#~ msgstr[1] "%zu замкнені профілі"
#~ msgstr[2] "%zu замкнених профілів"
#~ msgstr[3] "%zu замкненого профілю"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Намалюйте замкнений профіль, щоб увімкнути"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Очистити все"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Порожній результат"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Видавлювання: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Обертання: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Не вибрано обʼєкт"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Не вдалося створити грань"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Не вдалося створити грань з отворами"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Сітка інструмента порожня"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Кишеню додано (відʼємний обʼєм)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Кишеня: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Експериментально) Використовувати агентів принтера замість хостів друку"
@@ -32595,9 +32618,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Помилка під час завантаження "
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2025-10-02 17:43+0700\n"
"Last-Translator: \n"
"Language-Team: hainguyen.ts13@gmail.com\n"
@@ -4558,6 +4558,9 @@ msgstr "Bạn có chắc muốn xóa thông tin filament?"
msgid "You need to select the material type and color first."
msgstr "Bạn cần chọn loại vật liệu và màu trước."
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "Vui lòng nhập giá trị hợp lệ (K trong %.1f~%.1f)"
@@ -6562,7 +6565,7 @@ msgstr "Thể tích:"
msgid "Size:"
msgstr "Kích thước:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "Đã tìm thấy xung đột đường đi G-code tại lớp %d, Z = %.2lfmm. Vui lòng tách các vật thể xung đột ra xa hơn (%s <-> %s)."
@@ -7466,6 +7469,22 @@ msgstr "File .gcode.3mf không chứa dữ liệu G-code. Vui lòng slice với
msgid "File '%s' was lost! Please download it again."
msgstr "File '%s' đã bị mất! Vui lòng tải lại."
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11744,6 +11763,12 @@ msgstr "Hủy timelapse & In"
msgid "Clean Up"
msgstr "Dọn dẹp"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "Đang chuẩn bị công việc in"
@@ -27905,213 +27930,6 @@ msgstr "Font này không có đường viền cho chữ này"
msgid "Size: %.1f × %.1f mm"
msgstr "Kích thước: %.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "Hình nguyên thủy"
# AI Translated
msgid "Empty mesh generated"
msgstr "Đã tạo lưới rỗng"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "Hộp"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "Nhanh:"
# AI Translated
msgid "Width (X)"
msgstr "Độ rộng (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "Độ sâu (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "Chiều cao (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "R đáy"
# AI Translated
msgid "Top R"
msgstr "R đỉnh"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "R lớn"
# AI Translated
msgid "Minor R"
msgstr "R nhỏ"
# AI Translated
msgid "All edges"
msgstr "Tất cả cạnh"
# AI Translated
msgid "Top edges"
msgstr "Cạnh trên"
# AI Translated
msgid "Bottom edges"
msgstr "Cạnh dưới"
# AI Translated
msgid "Lateral edges"
msgstr "Cạnh bên"
# AI Translated
msgid "Mesh resolution"
msgstr "Độ phân giải lưới"
# AI Translated
msgid "Add Shape"
msgstr "Thêm hình"
# AI Translated
msgid "No outer profile"
msgstr "Không có biên dạng ngoài"
# AI Translated
msgid "Failed to make outer face"
msgstr "Không thể tạo mặt ngoài"
# AI Translated
msgid "Failed to build face with holes"
msgstr "Không thể tạo mặt có lỗ"
# AI Translated
msgid "Revolve failed"
msgstr "Tròn xoay thất bại"
# AI Translated
msgid "Profile"
msgstr "Biên dạng"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "Bắt đầu biên dạng mới (cho lỗ)"
# AI Translated
msgid "Segments"
msgstr "Số đoạn"
# AI Translated
msgid "Sides"
msgstr "Số cạnh"
# AI Translated
msgid "Click on canvas to draw"
msgstr "Nhấn vào khung vẽ để vẽ"
# AI Translated
msgid "Snap to grid"
msgstr "Bám theo lưới"
# AI Translated
msgid "Grid step"
msgstr "Bước lưới"
# AI Translated
msgid "Outer"
msgstr "Ngoài"
# AI Translated
msgid "closed"
msgstr "khép kín"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%: %3% điểm %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY (Trên)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ (Trước)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ (Bên)"
# AI Translated
msgid "Revolve deg"
msgstr "Góc tròn xoay"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "Đặt 0 để đùn, >0 để tạo khối tròn xoay"
# AI Translated
msgid "Pocket (cut)"
msgstr "Khoét hốc (cắt)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu biên dạng khép kín"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "Vẽ một biên dạng khép kín để bật"
# AI Translated
msgid "Clear all"
msgstr "Xóa tất cả"
# AI Translated
msgid "Empty result"
msgstr "Kết quả rỗng"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "Đùn: %1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "Tròn xoay: %1%"
# AI Translated
msgid "No object selected"
msgstr "Chưa chọn vật thể nào"
# AI Translated
msgid "Face failed"
msgstr "Tạo mặt thất bại"
# AI Translated
msgid "Face with holes failed"
msgstr "Tạo mặt có lỗ thất bại"
# AI Translated
msgid "Tool mesh empty"
msgstr "Lưới công cụ rỗng"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "Đã thêm hốc (thể tích âm)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "Khoét hốc: %1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -31505,6 +31323,10 @@ msgstr "Bật công cụ nhà phát triển"
msgid "An error occurred loading %s"
msgstr "Đã xảy ra lỗi khi tải %s"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -32185,6 +32007,208 @@ msgstr ""
"Tránh cong vênh\n"
"Bạn có biết rằng khi in vật liệu dễ cong vênh như ABS, tăng nhiệt độ bàn nóng một cách thích hợp có thể giảm xác suất cong vênh không?"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "Hình nguyên thủy"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "Đã tạo lưới rỗng"
# AI Translated
#~ msgid "Box"
#~ msgstr "Hộp"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "Nhanh:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "Độ rộng (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "Độ sâu (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "Chiều cao (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "R đáy"
# AI Translated
#~ msgid "Top R"
#~ msgstr "R đỉnh"
# AI Translated
#~ msgid "Major R"
#~ msgstr "R lớn"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "R nhỏ"
# AI Translated
#~ msgid "All edges"
#~ msgstr "Tất cả cạnh"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "Cạnh trên"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "Cạnh dưới"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "Cạnh bên"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "Độ phân giải lưới"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "Thêm hình"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "Không có biên dạng ngoài"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "Không thể tạo mặt ngoài"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "Không thể tạo mặt có lỗ"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "Tròn xoay thất bại"
# AI Translated
#~ msgid "Profile"
#~ msgstr "Biên dạng"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "Bắt đầu biên dạng mới (cho lỗ)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "Số đoạn"
# AI Translated
#~ msgid "Sides"
#~ msgstr "Số cạnh"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "Nhấn vào khung vẽ để vẽ"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "Bám theo lưới"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "Bước lưới"
# AI Translated
#~ msgid "Outer"
#~ msgstr "Ngoài"
# AI Translated
#~ msgid "closed"
#~ msgstr "khép kín"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%: %3% điểm %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY (Trên)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ (Trước)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ (Bên)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "Góc tròn xoay"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "Đặt 0 để đùn, >0 để tạo khối tròn xoay"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "Khoét hốc (cắt)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu biên dạng khép kín"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "Vẽ một biên dạng khép kín để bật"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "Xóa tất cả"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "Kết quả rỗng"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "Đùn: %1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "Tròn xoay: %1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "Chưa chọn vật thể nào"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "Tạo mặt thất bại"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "Tạo mặt có lỗ thất bại"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "Lưới công cụ rỗng"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "Đã thêm hốc (thể tích âm)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "Khoét hốc: %1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(Thử nghiệm) Dùng tác nhân máy in thay cho máy chủ in"
@@ -33275,10 +33299,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "Đã xảy ra lỗi khi tải "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Slic3rPE\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2026-06-11 12:37-0300\n"
"Last-Translator: Handle <mail@bysb.net>\n"
"Language-Team: \n"
@@ -4185,6 +4185,9 @@ msgstr "您确定要清除耗材丝信息吗?"
msgid "You need to select the material type and color first."
msgstr "您需要先选择材料类型和颜色。"
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "请输入有效的数值(K的范围为%.1f~%.1f)"
@@ -6039,7 +6042,7 @@ msgstr "体积:"
msgid "Size:"
msgstr "尺寸:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "发现G-code路径在层%d,高度为%.2lf mm处有冲突。请将有冲突的对象分离得更远(%s <-> %s)。"
@@ -6903,6 +6906,22 @@ msgstr ".gcode.3mf文件中不包含G-code数据。请使用Orca Slicer进行切
msgid "File '%s' was lost! Please download it again."
msgstr "文件%s丢失,请重新下载。"
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -10853,6 +10872,12 @@ msgstr "取消延时摄影,继续打印"
msgid "Clean Up"
msgstr "清理"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "正在准备打印任务"
@@ -26335,213 +26360,6 @@ msgstr "此字体中没有该文字的字形轮廓"
msgid "Size: %.1f × %.1f mm"
msgstr "大小:%.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "标准模型"
# AI Translated
msgid "Empty mesh generated"
msgstr "生成了空网格"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "长方体"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "快速:"
# AI Translated
msgid "Width (X)"
msgstr "宽度 (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "深度 (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "高度 (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "底面半径"
# AI Translated
msgid "Top R"
msgstr "顶面半径"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "大半径"
# AI Translated
msgid "Minor R"
msgstr "小半径"
# AI Translated
msgid "All edges"
msgstr "所有边"
# AI Translated
msgid "Top edges"
msgstr "顶部边"
# AI Translated
msgid "Bottom edges"
msgstr "底部边"
# AI Translated
msgid "Lateral edges"
msgstr "侧边"
# AI Translated
msgid "Mesh resolution"
msgstr "网格精度"
# AI Translated
msgid "Add Shape"
msgstr "添加形状"
# AI Translated
msgid "No outer profile"
msgstr "没有外轮廓"
# AI Translated
msgid "Failed to make outer face"
msgstr "无法生成外轮廓面"
# AI Translated
msgid "Failed to build face with holes"
msgstr "无法生成带孔的面"
# AI Translated
msgid "Revolve failed"
msgstr "旋转失败"
# AI Translated
msgid "Profile"
msgstr "轮廓"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "开始新轮廓(用于孔)"
# AI Translated
msgid "Segments"
msgstr "段数"
# AI Translated
msgid "Sides"
msgstr "边数"
# AI Translated
msgid "Click on canvas to draw"
msgstr "单击画布进行绘制"
# AI Translated
msgid "Snap to grid"
msgstr "吸附到网格"
# AI Translated
msgid "Grid step"
msgstr "网格间距"
# AI Translated
msgid "Outer"
msgstr "外轮廓"
# AI Translated
msgid "closed"
msgstr "已闭合"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%:%3% 个点 %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY(顶部)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ(前面)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ(侧面)"
# AI Translated
msgid "Revolve deg"
msgstr "旋转角度"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "设为 0 则拉伸,大于 0 则旋转"
# AI Translated
msgid "Pocket (cut)"
msgstr "凹槽(切除)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu 个闭合轮廓"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "绘制一个闭合轮廓以启用"
# AI Translated
msgid "Clear all"
msgstr "全部清除"
# AI Translated
msgid "Empty result"
msgstr "结果为空"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "拉伸:%1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "旋转:%1%"
# AI Translated
msgid "No object selected"
msgstr "未选择对象"
# AI Translated
msgid "Face failed"
msgstr "生成面失败"
# AI Translated
msgid "Face with holes failed"
msgstr "生成带孔的面失败"
# AI Translated
msgid "Tool mesh empty"
msgstr "工具网格为空"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "已添加凹槽(负体积)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "凹槽:%1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -29944,6 +29762,10 @@ msgstr "启用开发者工具"
msgid "An error occurred loading %s"
msgstr "加载 %s 时出错"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30623,6 +30445,208 @@ msgstr ""
"避免翘曲\n"
"您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "标准模型"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "生成了空网格"
# AI Translated
#~ msgid "Box"
#~ msgstr "长方体"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "快速:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "宽度 (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "深度 (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "高度 (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "底面半径"
# AI Translated
#~ msgid "Top R"
#~ msgstr "顶面半径"
# AI Translated
#~ msgid "Major R"
#~ msgstr "大半径"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "小半径"
# AI Translated
#~ msgid "All edges"
#~ msgstr "所有边"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "顶部边"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "底部边"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "侧边"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "网格精度"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "添加形状"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "没有外轮廓"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "无法生成外轮廓面"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "无法生成带孔的面"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "旋转失败"
# AI Translated
#~ msgid "Profile"
#~ msgstr "轮廓"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "开始新轮廓(用于孔)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "段数"
# AI Translated
#~ msgid "Sides"
#~ msgstr "边数"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "单击画布进行绘制"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "吸附到网格"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "网格间距"
# AI Translated
#~ msgid "Outer"
#~ msgstr "外轮廓"
# AI Translated
#~ msgid "closed"
#~ msgstr "已闭合"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%:%3% 个点 %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY(顶部)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ(前面)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ(侧面)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "旋转角度"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "设为 0 则拉伸,大于 0 则旋转"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "凹槽(切除)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu 个闭合轮廓"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "绘制一个闭合轮廓以启用"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "全部清除"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "结果为空"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "拉伸:%1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "旋转:%1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "未选择对象"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "生成面失败"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "生成带孔的面失败"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "工具网格为空"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "已添加凹槽(负体积)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "凹槽:%1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(实验性)使用打印机代理替代打印主机"
@@ -31675,10 +31699,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "加载时出错: "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
+233 -213
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-06 15:16-0300\n"
"POT-Creation-Date: 2026-10-08 11:08+0800\n"
"PO-Revision-Date: 2025-11-28 13:48-0600\n"
"Last-Translator: tntchn <15895303+tntchn@users.noreply.github.com>\n"
"Language-Team: \n"
@@ -4290,6 +4290,9 @@ msgstr "您確認要清除線材資訊嗎?"
msgid "You need to select the material type and color first."
msgstr "您需要先選擇線材類型和顏色。"
msgid "The minimum temperature cannot be greater than the maximum temperature."
msgstr ""
#, c-format, boost-format
msgid "Please input a valid value (K in %.1f~%.1f)"
msgstr "請輸入有效的數值 (K於 %.1f~%.1f 之間)"
@@ -6169,7 +6172,7 @@ msgstr "體積:"
msgid "Size:"
msgstr "尺寸:"
#, c-format, boost-format
#, boost-format
msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)."
msgstr "發現 G-code 路徑在 %d 層,Z = %.2lf mm 處的衝突。請將有衝突的物件分離得更遠(%s <-> %s)。"
@@ -7038,6 +7041,22 @@ msgstr ".gcode.3mf 檔案不包含 G-code 資料。請使用 OrcaSlicer 切片
msgid "File '%s' was lost! Please download it again."
msgstr "檔案 %s 遺失,請重新下載。"
msgid "gcodes"
msgstr ""
msgid "Failed to delete the file from printer."
msgstr ""
#, c-format, boost-format
msgid "Do you want to print the file '%s' from printer?"
msgstr ""
msgid "Print file"
msgstr ""
msgid "Failed to start the print job."
msgstr ""
#, c-format, boost-format
msgid ""
"File: %s\n"
@@ -11051,6 +11070,12 @@ msgstr "取消縮時攝影並列印"
msgid "Clean Up"
msgstr "清理"
msgid "AMS filament mapping is not available for this printer. Clear the AMS mapping before printing."
msgstr ""
msgid "A filament used by this print has no AMS mapping. Assign it before printing."
msgstr ""
msgid "Preparing print job"
msgstr "正在準備列印作業"
@@ -26533,213 +26558,6 @@ msgstr "此字型中沒有該文字的字形輪廓"
msgid "Size: %.1f × %.1f mm"
msgstr "尺寸:%.1f × %.1f mm"
# AI Translated
msgid "Primitive"
msgstr "標準模型"
# AI Translated
msgid "Empty mesh generated"
msgstr "產生了空的網格"
# AI Translated
#. TRN Default name of an object created from the box primitive shape.
msgid "Box"
msgstr "長方體"
# AI Translated
#. TRN Primitive gizmo: label in front of the preset cube size buttons
msgid "Quick:"
msgstr "快速:"
# AI Translated
msgid "Width (X)"
msgstr "寬度 (X)"
# AI Translated
msgid "Depth (Y)"
msgstr "深度 (Y)"
# AI Translated
msgid "Height (Z)"
msgstr "高度 (Z)"
# AI Translated
#. TRN Primitive gizmo: bottom radius of a cone ("Top R" is the top radius)
msgid "Bottom R"
msgstr "底部半徑"
# AI Translated
msgid "Top R"
msgstr "頂部半徑"
# AI Translated
#. TRN Primitive gizmo: major radius of a torus ("Minor R" is the tube radius)
msgid "Major R"
msgstr "主半徑"
# AI Translated
msgid "Minor R"
msgstr "次半徑"
# AI Translated
msgid "All edges"
msgstr "所有邊"
# AI Translated
msgid "Top edges"
msgstr "頂部邊"
# AI Translated
msgid "Bottom edges"
msgstr "底部邊"
# AI Translated
msgid "Lateral edges"
msgstr "側邊"
# AI Translated
msgid "Mesh resolution"
msgstr "網格解析度"
# AI Translated
msgid "Add Shape"
msgstr "新增形狀"
# AI Translated
msgid "No outer profile"
msgstr "沒有外輪廓"
# AI Translated
msgid "Failed to make outer face"
msgstr "無法建立外部面"
# AI Translated
msgid "Failed to build face with holes"
msgstr "無法建立帶孔的面"
# AI Translated
msgid "Revolve failed"
msgstr "迴轉失敗"
# AI Translated
msgid "Profile"
msgstr "輪廓"
# AI Translated
msgid "Start new profile (for holes)"
msgstr "開始新輪廓(用於孔洞)"
# AI Translated
msgid "Segments"
msgstr "段數"
# AI Translated
msgid "Sides"
msgstr "邊數"
# AI Translated
msgid "Click on canvas to draw"
msgstr "在畫布上點選以繪製"
# AI Translated
msgid "Snap to grid"
msgstr "貼齊格線"
# AI Translated
msgid "Grid step"
msgstr "格線間距"
# AI Translated
msgid "Outer"
msgstr "外輪廓"
# AI Translated
msgid "closed"
msgstr "已封閉"
# AI Translated
#. TRN Sketch gizmo profile list: "Outer" or "Hole", profile number, point count, "closed" or nothing
#, boost-format
msgid "%1% %2%: %3% points %4%"
msgstr "%1% %2%:%3% 個點 %4%"
# AI Translated
msgid "XY (Top)"
msgstr "XY(頂部)"
# AI Translated
msgid "XZ (Front)"
msgstr "XZ(前面)"
# AI Translated
msgid "YZ (Side)"
msgstr "YZ(側面)"
# AI Translated
msgid "Revolve deg"
msgstr "迴轉角度"
# AI Translated
msgid "Set to 0 for extrude, >0 for revolve"
msgstr "設為 0 表示擠出,大於 0 表示迴轉"
# AI Translated
msgid "Pocket (cut)"
msgstr "挖槽(切除)"
# AI Translated
#, c-format
msgid "%zu closed profile"
msgid_plural "%zu closed profiles"
msgstr[0] "%zu 個封閉輪廓"
# AI Translated
msgid "Draw a closed profile to enable"
msgstr "請繪製封閉輪廓以啟用"
# AI Translated
msgid "Clear all"
msgstr "全部清除"
# AI Translated
msgid "Empty result"
msgstr "結果為空"
# AI Translated
#, boost-format
msgid "Extrude: %1%"
msgstr "擠出:%1%"
# AI Translated
#, boost-format
msgid "Revolve: %1%"
msgstr "迴轉:%1%"
# AI Translated
msgid "No object selected"
msgstr "未選取物件"
# AI Translated
msgid "Face failed"
msgstr "建立面失敗"
# AI Translated
msgid "Face with holes failed"
msgstr "建立帶孔的面失敗"
# AI Translated
msgid "Tool mesh empty"
msgstr "工具網格為空"
# AI Translated
msgid "Pocket added (negative volume)"
msgstr "已新增挖槽(負體積)"
# AI Translated
#, boost-format
msgid "Pocket: %1%"
msgstr "挖槽:%1%"
# AI Translated
msgctxt "Keyboard Shortcut"
msgid "Ins"
@@ -30137,6 +29955,10 @@ msgstr "啟用開發者工具"
msgid "An error occurred loading %s"
msgstr "載入 %s 時發生錯誤"
# AI Translated
msgid "/"
msgstr "/"
# AI Translated
#, boost-format
msgid "Load %1% to %2%"
@@ -30837,6 +30659,208 @@ msgstr ""
"避免翹曲\n"
"您知道嗎?當列印容易翹曲的材料(如 ABS)時,適當提高熱床溫度可以降低翹曲的機率。"
# AI Translated
#~ msgid "Primitive"
#~ msgstr "標準模型"
# AI Translated
#~ msgid "Empty mesh generated"
#~ msgstr "產生了空的網格"
# AI Translated
#~ msgid "Box"
#~ msgstr "長方體"
# AI Translated
#~ msgid "Quick:"
#~ msgstr "快速:"
# AI Translated
#~ msgid "Width (X)"
#~ msgstr "寬度 (X)"
# AI Translated
#~ msgid "Depth (Y)"
#~ msgstr "深度 (Y)"
# AI Translated
#~ msgid "Height (Z)"
#~ msgstr "高度 (Z)"
# AI Translated
#~ msgid "Bottom R"
#~ msgstr "底部半徑"
# AI Translated
#~ msgid "Top R"
#~ msgstr "頂部半徑"
# AI Translated
#~ msgid "Major R"
#~ msgstr "主半徑"
# AI Translated
#~ msgid "Minor R"
#~ msgstr "次半徑"
# AI Translated
#~ msgid "All edges"
#~ msgstr "所有邊"
# AI Translated
#~ msgid "Top edges"
#~ msgstr "頂部邊"
# AI Translated
#~ msgid "Bottom edges"
#~ msgstr "底部邊"
# AI Translated
#~ msgid "Lateral edges"
#~ msgstr "側邊"
# AI Translated
#~ msgid "Mesh resolution"
#~ msgstr "網格解析度"
# AI Translated
#~ msgid "Add Shape"
#~ msgstr "新增形狀"
# AI Translated
#~ msgid "No outer profile"
#~ msgstr "沒有外輪廓"
# AI Translated
#~ msgid "Failed to make outer face"
#~ msgstr "無法建立外部面"
# AI Translated
#~ msgid "Failed to build face with holes"
#~ msgstr "無法建立帶孔的面"
# AI Translated
#~ msgid "Revolve failed"
#~ msgstr "迴轉失敗"
# AI Translated
#~ msgid "Profile"
#~ msgstr "輪廓"
# AI Translated
#~ msgid "Start new profile (for holes)"
#~ msgstr "開始新輪廓(用於孔洞)"
# AI Translated
#~ msgid "Segments"
#~ msgstr "段數"
# AI Translated
#~ msgid "Sides"
#~ msgstr "邊數"
# AI Translated
#~ msgid "Click on canvas to draw"
#~ msgstr "在畫布上點選以繪製"
# AI Translated
#~ msgid "Snap to grid"
#~ msgstr "貼齊格線"
# AI Translated
#~ msgid "Grid step"
#~ msgstr "格線間距"
# AI Translated
#~ msgid "Outer"
#~ msgstr "外輪廓"
# AI Translated
#~ msgid "closed"
#~ msgstr "已封閉"
# AI Translated
#, boost-format
#~ msgid "%1% %2%: %3% points %4%"
#~ msgstr "%1% %2%:%3% 個點 %4%"
# AI Translated
#~ msgid "XY (Top)"
#~ msgstr "XY(頂部)"
# AI Translated
#~ msgid "XZ (Front)"
#~ msgstr "XZ(前面)"
# AI Translated
#~ msgid "YZ (Side)"
#~ msgstr "YZ(側面)"
# AI Translated
#~ msgid "Revolve deg"
#~ msgstr "迴轉角度"
# AI Translated
#~ msgid "Set to 0 for extrude, >0 for revolve"
#~ msgstr "設為 0 表示擠出,大於 0 表示迴轉"
# AI Translated
#~ msgid "Pocket (cut)"
#~ msgstr "挖槽(切除)"
# AI Translated
#, c-format
#~ msgid "%zu closed profile"
#~ msgid_plural "%zu closed profiles"
#~ msgstr[0] "%zu 個封閉輪廓"
# AI Translated
#~ msgid "Draw a closed profile to enable"
#~ msgstr "請繪製封閉輪廓以啟用"
# AI Translated
#~ msgid "Clear all"
#~ msgstr "全部清除"
# AI Translated
#~ msgid "Empty result"
#~ msgstr "結果為空"
# AI Translated
#, boost-format
#~ msgid "Extrude: %1%"
#~ msgstr "擠出:%1%"
# AI Translated
#, boost-format
#~ msgid "Revolve: %1%"
#~ msgstr "迴轉:%1%"
# AI Translated
#~ msgid "No object selected"
#~ msgstr "未選取物件"
# AI Translated
#~ msgid "Face failed"
#~ msgstr "建立面失敗"
# AI Translated
#~ msgid "Face with holes failed"
#~ msgstr "建立帶孔的面失敗"
# AI Translated
#~ msgid "Tool mesh empty"
#~ msgstr "工具網格為空"
# AI Translated
#~ msgid "Pocket added (negative volume)"
#~ msgstr "已新增挖槽(負體積)"
# AI Translated
#, boost-format
#~ msgid "Pocket: %1%"
#~ msgstr "挖槽:%1%"
# AI Translated
#~ msgid "(Experimental) Use printer agents instead of print hosts"
#~ msgstr "(實驗性)使用列印裝置代理程式取代列印主機"
@@ -31890,10 +31914,6 @@ msgstr ""
#~ msgid "An error occurred loading "
#~ msgstr "載入時發生錯誤: "
# AI Translated
#~ msgid "/"
#~ msgstr "/"
# AI Translated
#, c-format, boost-format
#~ msgid "Load %s to "
@@ -1,79 +0,0 @@
#!/usr/bin/env python3
"""Belt temperature-tower asset generator (discrete-provini design).
A vertical temperature tower cannot be sliced on a belt printer, so lay a row of
DISCRETE provini (one per temperature) along the belt (designed Y) with a fixed
surface gap. Each provino is the chevron+arc unit (belt_temp_provino_unit.stl,
keel-first); its temperature is ENGRAVED upright into the 50 mm face — a raised
number would be an unsupported overhang on the belt. The C++ calib_temp belt branch
(Plater.cpp) injects one M104 per zone 70 layers INTO provino i:
print_z[i] = i * PITCH * cos(theta) + 70 * layer_height (theta = 45)
inside the body, not in the empty inter-provino gap (which has no sliced layers for
the event to attach to). PITCH below is the shared geometry contract with that code —
keep them in sync.
Generates one STL per filament temp range used by Temp_Calibration_Dlg.
"""
import numpy as np, trimesh, os
from matplotlib.textpath import TextPath
from matplotlib.font_manager import FontProperties
from shapely.geometry import Polygon as ShPoly
from shapely.ops import unary_union
HERE = os.path.dirname(os.path.abspath(__file__))
UNIT = os.path.join(HERE, 'belt_temp_provino_unit.stl') # single provino, keel-first
SURF_GAP = 25.0 # surface-to-surface gap between provini (mm) — user spec
TEXT_H = 9.0
TEXT_DEPTH = 0.8 # engraving depth (numbers are CUT into the face, not raised:
# a raised number is an unsupported Y-overhang on the belt)
TEXT_OVERSHOOT = 0.6 # extra height poking out of the face for a clean boolean cut
# Temperature ranges (start, end) per filament family, 5 C step. File name encodes them.
RANGES = [(230,190),(270,230),(250,230),(280,240),(240,210),(320,280)]
unit = trimesh.load(UNIT)
dY = unit.bounds[1,1] - unit.bounds[0,1]
PITCH = dY + SURF_GAP # designed-Y pitch == C++ contract constant
print(f"unit dY={dY:.2f} PITCH={PITCH:.3f} (C++ contract: print_z[i]=i*{PITCH:.3f}*cos45)")
# 50 mm face normal (0,-1,1)/sqrt2 ; UPRIGHT basis u=+X det(+1) (verified non-mirrored)
n = np.array([0,-1,1.])/np.sqrt(2)
u = np.array([1,0,0.]); v = np.array([0,1,1.])/np.sqrt(2)
R = np.column_stack([u,v,n])
fn = unit.face_normals; fc = unit.triangles_center; fa = unit.area_faces
sel = (fn@n) > 0.9
face_c = (fc[sel]*fa[sel,None]).sum(0)/fa[sel].sum()
def text_mesh(s):
tp = TextPath((0,0), s, size=TEXT_H, prop=FontProperties(family='DejaVu Sans'))
rings = [ShPoly(p) for p in tp.to_polygons() if len(p)>=3]
rings.sort(key=lambda r:r.area, reverse=True)
used=[False]*len(rings); parts=[]
for i,o in enumerate(rings):
if used[i]: continue
holes=[]
for j in range(i+1,len(rings)):
if not used[j] and o.contains(rings[j]): holes.append(rings[j].exterior.coords); used[j]=True
parts.append(ShPoly(o.exterior.coords,holes)); used[i]=True
poly = unary_union(parts)
geoms = list(poly.geoms) if poly.geom_type=='MultiPolygon' else [poly]
m = trimesh.util.concatenate([trimesh.creation.extrude_polygon(g,height=TEXT_DEPTH+TEXT_OVERSHOOT) for g in geoms])
c = m.bounds.mean(axis=0); m.apply_translation([-c[0],-c[1],0]); return m
for t_start, t_end in RANGES:
temps = list(range(t_start, t_end-1, -5))
parts=[]
for i,T in enumerate(temps):
c = unit.copy(); c.apply_translation([0, i*PITCH, 0])
t = text_mesh(str(T)); M=np.eye(4); M[:3,:3]=R; t.apply_transform(M)
# place the text spanning from TEXT_DEPTH inside the face to TEXT_OVERSHOOT outside,
# then CUT it out of the provino (engrave) — no raised material, no Y-overhang.
t.apply_translation(face_c - n*TEXT_DEPTH + np.array([0,i*PITCH,0]))
c = trimesh.boolean.difference([c, t], engine='manifold')
parts.append(c)
asset = trimesh.util.concatenate(parts)
out = os.path.join(HERE, f"belt_temp_tower_{t_start}_{t_end}.stl")
asset.export(out)
dims = np.round(asset.bounds[1]-asset.bounds[0],1)
wt = all(p.is_watertight for p in parts)
print(f" {t_start}->{t_end}: {len(temps)} zones bbox={dims} watertight={wt} -> {os.path.basename(out)}")
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M5.5,14.5c-1.105,0-2-3.686-2-7s.895-7,2-7" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="8.67" y1="4.67" x2="14.33" y2="10.33" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round"/><line x1="14.33" y1="4.67" x2="8.67" y2="10.33" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round"/><path d="M3.5,13.7c-.294.511-.636.8-1,.8-1.1,0-2-3.686-2-7s.9-7,2-7c.365,0,.707.293,1,.805" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M6.727,4.5c.334-2.208,1-4,1.773-4,.354,0,.686.378.974,1" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M9.474,13.5c-.288.622-.62,1-.974,1-.77,0-1.439-1.792-1.773-4" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>

Before

Width:  |  Height:  |  Size: 931 B

+3 -1
View File
@@ -1 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3.5,11.5v1l2,2,2-2v-1" style="fill:none; stroke:#949494; stroke-linecap:square; stroke-linejoin:round;"/><circle cx="10.5" cy="4.5" r="4" style="fill:none; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="11.5 2.5 12.5 3.5 8.5 3.5" style="fill:none; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="12.5 5.5 8.5 5.5 9.5 6.5" style="fill:none; stroke:#009688; stroke-linecap:square; stroke-linejoin:round;"/><path d="M5.5.5H1.5C.95.5.5.95.5,1.5v9c0,.55.45,1,1,1h8c.55,0,1-.45,1-1" style="fill:none; stroke:#949494; stroke-linecap:square; stroke-linejoin:round;"/></svg>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.2992 1.42627C10.7774 1.42627 8.73315 3.47056 8.73315 5.99231C8.73315 8.51406 10.7774 10.5583 13.2992 10.5583C13.3609 10.5583 13.4223 10.5571 13.4834 10.5547C15.9197 10.4581 17.8652 8.45238 17.8652 5.99231C17.8652 3.47056 15.8209 1.42627 13.2992 1.42627ZM15.6185 11.0536C17.5346 10.1741 18.8652 8.23861 18.8652 5.99231C18.8652 2.91827 16.3732 0.42627 13.2992 0.42627C11.5793 0.42627 10.0417 1.2063 9.02067 2.43188H2.31853C1.93193 2.43188 1.61853 2.74528 1.61853 3.13188V12.4712C1.61853 12.6313 1.6723 12.7789 1.76278 12.8968C1.76671 13.0046 1.79621 13.1144 1.85576 13.2185L3.48408 16.0649C3.60875 16.2829 3.8406 16.4173 4.09168 16.4173H6.75859L7.97903 19.1586C8.22556 19.7123 9.01148 19.7123 9.25801 19.1586L10.4784 16.4173H13.1454C13.3965 16.4173 13.6283 16.2829 13.753 16.0649L15.3813 13.2185C15.4409 13.1144 15.4704 13.0046 15.4743 12.8968C15.5648 12.7789 15.6185 12.6313 15.6185 12.4712V11.0536ZM13.4429 11.5565C13.8469 11.5463 14.2403 11.493 14.6185 11.4011V12.1709H2.61853V3.43188H8.35573C7.95792 4.19837 7.73315 5.06909 7.73315 5.99231C7.73315 9.06635 10.2252 11.5583 13.2992 11.5583C13.3472 11.5583 13.3951 11.5577 13.4429 11.5565ZM2.98076 13.1712H14.2563L12.9714 15.4173H9.85194L9.84578 15.4173H7.39126L7.3851 15.4173H4.26569L2.98076 13.1712ZM9.38381 16.4173L8.61852 18.1363L7.85322 16.4173H9.38381ZM12.2021 3.36422C12.3973 3.55948 12.3973 3.87606 12.2021 4.07133L11.743 4.53041H16.0625C16.3386 4.53041 16.5625 4.75426 16.5625 5.03041C16.5625 5.30655 16.3386 5.53041 16.0625 5.53041H10.7773C10.2428 5.53041 9.97507 4.88412 10.353 4.50614L11.495 3.36422C11.6902 3.16896 12.0068 3.16896 12.2021 3.36422ZM14.3963 7.91305C14.2011 8.10831 14.2011 8.42489 14.3963 8.62015C14.5916 8.81542 14.9082 8.81542 15.1034 8.62015L16.2453 7.47823C16.6233 7.10026 16.3556 6.45397 15.8211 6.45397L10.5359 6.45397C10.2597 6.45397 10.0359 6.67783 10.0359 6.95397C10.0359 7.23011 10.2597 7.45397 10.5359 7.45397L14.8554 7.45397L14.3963 7.91305Z" fill="#262E30"/>
</svg>

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 2.1 KiB

+10 -1
View File
@@ -1 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3.5,3.5h8M3.5,5.5h8M3.5,1.5h8M6.5,5.5v7l1,1,1-1v-7" style="fill:none; stroke:#949494; stroke-linecap:square; stroke-linejoin:round;"/></svg>
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1.73486" y="1" width="10.53" height="5.12169" fill="#C2C2C2"/>
<rect x="1.73486" y="1" width="10.53" height="0.497608" fill="#858585"/>
<rect x="1.73486" y="2.70703" width="10.53" height="0.497608" fill="#858585"/>
<rect x="1.73486" y="4.41602" width="10.53" height="0.497608" fill="#858585"/>
<rect x="1.73486" y="6.12305" width="10.53" height="0.497608" fill="#858585"/>
<path d="M6.10107 11.9961H7.77047L7.30675 12.9991H6.61117L6.10107 11.9961Z" fill="#8C8C8C"/>
<rect x="4.1748" y="6.62109" width="5.65026" height="5.3765" fill="#646464"/>
<rect x="6.61475" y="6.62109" width="0.642075" height="5.35947" fill="#1D1D1D"/>
</svg>

Before

Width:  |  Height:  |  Size: 255 B

After

Width:  |  Height:  |  Size: 737 B

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#545454" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#545454" fill="#545454" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m34.77509,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.719,0.9102l-0.8129,1.0906l-0.7719,2.014l-0.2296,2.4972l0.257,2.9999l0.8925,0.5883l0.2145,1.5893l-0.6173,0l-0.6605,1.2606l-0.5122,1.9929l8.9594,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#b3b3b3" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#c4c4c4" fill="#c4c4c4" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m34.77509,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.719,0.9102l-0.8129,1.0906l-0.7719,2.014l-0.2296,2.4972l0.257,2.9999l0.8925,0.5883l0.2145,1.5893l-0.6173,0l-0.6605,1.2606l-0.5122,1.9929l8.9594,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" x="1.5" y="1.5"/>
<path stroke-width="1.0" fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m34.77509,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.719,0.9102l-0.8129,1.0906l-0.7719,2.014l-0.2296,2.4972l0.257,2.9999l0.8925,0.5883l0.2145,1.5893l-0.6173,0l-0.6605,1.2606l-0.5122,1.9929l8.9594,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m34.77509,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.719,0.9102l-0.8129,1.0906l-0.7719,2.014l-0.2296,2.4972l0.257,2.9999l0.8925,0.5883l0.2145,1.5893l-0.6173,0l-0.6605,1.2606l-0.5122,1.9929l8.9594,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#545454" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#545454" fill="#545454" d="m21.5275,5.5l0,31.9"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#545454" fill="#545454" d="m6.7,21.575891l29.2,0"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(11.75,11.75) scale(0.7) translate(-31.15,-20.94)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,11.75) scale(-0.7,0.7) translate(-31.15,-20.94)"/>
<path stroke-width="1" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z" transform="translate(11.75,31.25) scale(0.7) translate(-11.85,-20.93)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,31.25) scale(0.7) translate(-31.15,-20.94)"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#b3b3b3" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#c4c4c4" fill="#c4c4c4" d="m21.5275,5.5l0,31.9"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#c4c4c4" fill="#c4c4c4" d="m6.7,21.575891l29.2,0"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(11.75,11.75) scale(0.7) translate(-31.15,-20.94)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,11.75) scale(-0.7,0.7) translate(-31.15,-20.94)"/>
<path stroke-width="1" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z" transform="translate(11.75,31.25) scale(0.7) translate(-11.85,-20.93)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,31.25) scale(0.7) translate(-31.15,-20.94)"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m21.5275,5.5l0,31.9"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m6.7,21.575891l29.2,0"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(11.75,11.75) scale(0.7) translate(-31.15,-20.94)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,11.75) scale(-0.7,0.7) translate(-31.15,-20.94)"/>
<path stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z" transform="translate(11.75,31.25) scale(0.7) translate(-11.85,-20.93)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,31.25) scale(0.7) translate(-31.15,-20.94)"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m21.5275,5.5l0,31.9"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m6.7,21.575891l29.2,0"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(11.75,11.75) scale(0.7) translate(-31.15,-20.94)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,11.75) scale(-0.7,0.7) translate(-31.15,-20.94)"/>
<path stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z" transform="translate(11.75,31.25) scale(0.7) translate(-11.85,-20.93)"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z" transform="translate(31.25,31.25) scale(0.7) translate(-31.15,-20.94)"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#545454" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#545454" fill="#545454" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#545454" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#b3b3b3" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#c4c4c4" fill="#c4c4c4" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#c4c4c4" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,7 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" y="1.5" x="1.5"/>
<path stroke-width="1.0" fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke-linecap="round" stroke-width="0.8" stroke="#009688" fill="#009688" d="m21.5275,7.14657l0,28.59908"/>
<path stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m14.5112,25.5943l-0.632,0l0.632,-1.1115l-0.0305,-1.3114l-0.6445,-1.103l-0.7745,-0.632l-0.3502,-0.7142l-0.9981,-1.8354l1.4221,0.9295l1.6267,0.1116l0.8272,0.5112l0.9667,-0.4926l0.2509,-1.3664l-1.0317,-0.5763l-0.9945,-1.5429l0.1999,-0.7236l-1.1015,-1.0425l0.4275,-1.608l-0.7064,-0.0651l-0.9388,0.7157l-1.8125,0.1674l-1.71896,0.9102l-0.81298,1.0906l-0.77183,2.014l-0.22958,2.4972l0.25693,2.9999l0.89251,0.5883l0.21446,1.5893l-0.6172,0l-0.66057,1.2606l-0.51219,1.9929l8.95941,0l-0.5289,-1.9929l-0.8089,-1.2606l0,0z"/>
<path stroke-dasharray="1,2" stroke-linecap="round" stroke-width="1.0" stroke="#009688" fill-opacity="0" fill="#ffffff" fill-rule="nonzero" d="m28.4888,25.5943l0.632,0l-0.632,-1.1115l0.0305,-1.3114l0.6445,-1.103l0.7745,-0.632l0.3502,-0.7142l0.9981,-1.8354l-1.4221,0.9295l-1.6267,0.1116l-0.8272,0.5112l-0.9667,-0.4926l-0.2509,-1.3664l1.0317,-0.5763l0.9945,-1.5429l-0.1999,-0.7236l1.1015,-1.0425l-0.4275,-1.608l0.7064,-0.0651l0.9388,0.7157l1.8125,0.1674l1.719,0.9102l0.8129,1.0906l0.7719,2.014l0.2296,2.4972l-0.257,2.9999l-0.8925,0.5883l-0.2145,1.5893l0.6173,0l0.6605,1.2606l0.5122,1.9929l-8.9594,0l0.5289,-1.9929l0.8089,-1.2606l0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" x="1.5" y="1.5"/>
<path fill="#545454" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke="#545454" fill="#ffffff" fill-opacity="0" fill-rule="nonzero" stroke-width="1.0" d="m27.20643,29.4739l-1.21802,0l1.21802,-2.14213l-0.05879,-2.52738l-1.2421,-2.12576l-1.49265,-1.21801l-0.67492,-1.37644l-1.92358,-3.53726l2.74073,1.79137l3.13505,0.21508l1.59421,0.98521l1.86307,-0.94935l0.48354,-2.63339l-1.98833,-1.11067l-1.91665,-2.97354l0.38526,-1.39456l-2.12286,-2.00915l0.82389,-3.09901l-1.3614,-0.12546l-1.80929,1.37933l-3.49313,0.32262l-3.31285,1.75417l-1.56681,2.10186l-1.48751,3.88146l-0.44245,4.81271l0.49516,5.78154l1.72009,1.13379l0.41331,3.06297l-1.1895,0l-1.27306,2.42948l-0.98712,3.8408l17.26695,0l-1.01931,-3.8408l-1.55895,-2.42948l0,0z"/>
<path stroke="#545454" stroke-dasharray="2,2" d="m23.61156,6.63793l-1.16183,2.2557l-1.89806,0.27415l-2.4104,1.37699l-1.46486,2.1687l-1.05714,3.57465l-0.28913,4.51495l0.30214,6.3633" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#545454" stroke-dasharray="2,2" y2="32.58856" x2="28.96602" y1="32.58856" x1="13.5093" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#545454" y2="29.47069" x2="25.98988" y1="29.47069" x1="16.06028" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#545454" stroke-dasharray="2,2" d="m27.94317,10.33418l-2.21519,0.02258l-0.32541,0.65079l2.39086,0.92312" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#545454" stroke-dasharray="2,2" d="m31.36607,16.48593l-1.47286,-0.34296l0.38557,-0.77114" stroke-width="1.0" fill-opacity="0" fill="none"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" x="1.5" y="1.5"/>
<path fill="#b3b3b3" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke="#c4c4c4" fill="#ffffff" fill-opacity="0" fill-rule="nonzero" stroke-width="1.0" d="m27.20643,29.4739l-1.21802,0l1.21802,-2.14213l-0.05879,-2.52738l-1.2421,-2.12576l-1.49265,-1.21801l-0.67492,-1.37644l-1.92358,-3.53726l2.74073,1.79137l3.13505,0.21508l1.59421,0.98521l1.86307,-0.94935l0.48354,-2.63339l-1.98833,-1.11067l-1.91665,-2.97354l0.38526,-1.39456l-2.12286,-2.00915l0.82389,-3.09901l-1.3614,-0.12546l-1.80929,1.37933l-3.49313,0.32262l-3.31285,1.75417l-1.56681,2.10186l-1.48751,3.88146l-0.44245,4.81271l0.49516,5.78154l1.72009,1.13379l0.41331,3.06297l-1.1895,0l-1.27306,2.42948l-0.98712,3.8408l17.26695,0l-1.01931,-3.8408l-1.55895,-2.42948l0,0z"/>
<path stroke="#c4c4c4" stroke-dasharray="2,2" d="m23.61156,6.63793l-1.16183,2.2557l-1.89806,0.27415l-2.4104,1.37699l-1.46486,2.1687l-1.05714,3.57465l-0.28913,4.51495l0.30214,6.3633" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#c4c4c4" stroke-dasharray="2,2" y2="32.58856" x2="28.96602" y1="32.58856" x1="13.5093" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#c4c4c4" y2="29.47069" x2="25.98988" y1="29.47069" x1="16.06028" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#c4c4c4" stroke-dasharray="2,2" d="m27.94317,10.33418l-2.21519,0.02258l-0.32541,0.65079l2.39086,0.92312" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#c4c4c4" stroke-dasharray="2,2" d="m31.36607,16.48593l-1.47286,-0.34296l0.38557,-0.77114" stroke-width="1.0" fill-opacity="0" fill="none"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#e9e9e9" rx="3.5" height="40" width="40" x="1.5" y="1.5"/>
<path fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke="#009688" fill="#ffffff" fill-opacity="0" fill-rule="nonzero" stroke-width="1.0" d="m27.20643,29.4739l-1.21802,0l1.21802,-2.14213l-0.05879,-2.52738l-1.2421,-2.12576l-1.49265,-1.21801l-0.67492,-1.37644l-1.92358,-3.53726l2.74073,1.79137l3.13505,0.21508l1.59421,0.98521l1.86307,-0.94935l0.48354,-2.63339l-1.98833,-1.11067l-1.91665,-2.97354l0.38526,-1.39456l-2.12286,-2.00915l0.82389,-3.09901l-1.3614,-0.12546l-1.80929,1.37933l-3.49313,0.32262l-3.31285,1.75417l-1.56681,2.10186l-1.48751,3.88146l-0.44245,4.81271l0.49516,5.78154l1.72009,1.13379l0.41331,3.06297l-1.1895,0l-1.27306,2.42948l-0.98712,3.8408l17.26695,0l-1.01931,-3.8408l-1.55895,-2.42948l0,0z"/>
<path stroke="#009688" stroke-dasharray="2,2" d="m23.61156,6.63793l-1.16183,2.2557l-1.89806,0.27415l-2.4104,1.37699l-1.46486,2.1687l-1.05714,3.57465l-0.28913,4.51495l0.30214,6.3633" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#009688" stroke-dasharray="2,2" y2="32.58856" x2="28.96602" y1="32.58856" x1="13.5093" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#009688" y2="29.47069" x2="25.98988" y1="29.47069" x1="16.06028" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#009688" stroke-dasharray="2,2" d="m27.94317,10.33418l-2.21519,0.02258l-0.32541,0.65079l2.39086,0.92312" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#009688" stroke-dasharray="2,2" d="m31.36607,16.48593l-1.47286,-0.34296l0.38557,-0.77114" stroke-width="1.0" fill-opacity="0" fill="none"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@@ -1,10 +0,0 @@
<svg width="43" height="43" xmlns="http://www.w3.org/2000/svg">
<rect fill="#54545a" rx="3.5" height="40" width="40" x="1.5" y="1.5"/>
<path fill="#009688" d="m38,2a3,3 0 0 1 3,3l0,33a3,3 0 0 1 -3,3l-33,0a3,3 0 0 1 -3,-3l0,-33a3,3 0 0 1 3,-3l33,0m0,-1l-33,0a4,4 0 0 0 -4,4l0,33a4,4 0 0 0 4,4l33,0a4,4 0 0 0 4,-4l0,-33a4,4 0 0 0 -4,-4z"/>
<path stroke="#009688" fill="#ffffff" fill-opacity="0" fill-rule="nonzero" stroke-width="1.0" d="m27.20643,29.4739l-1.21802,0l1.21802,-2.14213l-0.05879,-2.52738l-1.2421,-2.12576l-1.49265,-1.21801l-0.67492,-1.37644l-1.92358,-3.53726l2.74073,1.79137l3.13505,0.21508l1.59421,0.98521l1.86307,-0.94935l0.48354,-2.63339l-1.98833,-1.11067l-1.91665,-2.97354l0.38526,-1.39456l-2.12286,-2.00915l0.82389,-3.09901l-1.3614,-0.12546l-1.80929,1.37933l-3.49313,0.32262l-3.31285,1.75417l-1.56681,2.10186l-1.48751,3.88146l-0.44245,4.81271l0.49516,5.78154l1.72009,1.13379l0.41331,3.06297l-1.1895,0l-1.27306,2.42948l-0.98712,3.8408l17.26695,0l-1.01931,-3.8408l-1.55895,-2.42948l0,0z"/>
<path stroke="#009688" stroke-dasharray="2,2" d="m23.61156,6.63793l-1.16183,2.2557l-1.89806,0.27415l-2.4104,1.37699l-1.46486,2.1687l-1.05714,3.57465l-0.28913,4.51495l0.30214,6.3633" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#009688" stroke-dasharray="2,2" y2="32.58856" x2="28.96602" y1="32.58856" x1="13.5093" fill-opacity="0" stroke-width="1.0" fill="none"/>
<line stroke="#009688" y2="29.47069" x2="25.98988" y1="29.47069" x1="16.06028" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#009688" stroke-dasharray="2,2" d="m27.94317,10.33418l-2.21519,0.02258l-0.32541,0.65079l2.39086,0.92312" fill-opacity="0" stroke-width="1.0" fill="none"/>
<path stroke="#009688" stroke-dasharray="2,2" d="m31.36607,16.48593l-1.47286,-0.34296l0.38557,-0.77114" stroke-width="1.0" fill-opacity="0" fill="none"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

+1 -1
View File
@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><rect x="7" y="12" width="1" height="1" style="fill:#fefefe;"/><path d="M4.5,5.5c0-1.71,1.43-3.09,3.16-3,1.62.08,2.84,1.54,2.84,3.17h0c0,.61-.25,1.2-.69,1.62l-2.31,2.24v.97" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><circle cx="9.5" cy="12.5" r="9.5" style="fill:#009688"/><path d="M6.5,10.5a3,3,0,0,1,6,0c0,3-3,2-3,4v1" style="fill:none;stroke:#e6e6e6;stroke-linecap:round;stroke-linejoin:round"/><rect x="9" y="17" width="1" height="1" style="fill:#e6e6e6"/></svg>

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 333 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><circle cx="9.5" cy="12.5" r="9.5" style="fill:#33aba1"/><path d="M6.5,10.5a3,3,0,0,1,6,0c0,3-3,2-3,4v1" style="fill:none;stroke:#e6e6e6;stroke-linecap:round;stroke-linejoin:round"/><rect x="9" y="17" width="1" height="1" style="fill:#e6e6e6"/></svg>

After

Width:  |  Height:  |  Size: 333 B

-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M12.31,8l-8.14,4.16c-.31.16-.67-.07-.67-.41V3.27c0-.35.37-.57.68-.41l8.14,4.32c.33.17.33.65,0,.82Z" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/></svg>

Before

Width:  |  Height:  |  Size: 301 B

-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M7.5,3.5c2-2,5.1-1,6-1" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/><path d="M7.5,12.5c2-2,5.1-1,6-1" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/><path d="M7.5,3.5C5.5,1.5,2.4,2.5,1.5,2.5" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/><path d="M7.5,12.5c-2-2-5.1-1-6-1" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/><line x1="13.5" y1="11.5" x2="13.5" y2="2.5" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/><line x1="7.5" y1="12.5" x2="7.5" y2="3.5" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/><line x1="1.5" y1="11.5" x2="1.5" y2="2.5" style="fill:none; stroke:#fefefe; stroke-linecap:round; stroke-linejoin:round;"/></svg>

Before

Width:  |  Height:  |  Size: 954 B

+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "Bambulab",
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
"version": "02.08.00.13",
"version": "02.08.00.12",
"force_update": "0",
"description": "the initial version of BBL configurations",
"machine_model_list": [
File diff suppressed because one or more lines are too long
@@ -10,7 +10,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000"
@@ -10,7 +10,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000",
@@ -9,7 +9,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000"
@@ -9,7 +9,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000"
@@ -10,7 +10,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000",
@@ -11,7 +11,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000",
@@ -11,7 +11,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"10000",
"10000",
@@ -11,7 +11,6 @@
"30",
"30"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"10000",
"10000",
@@ -11,7 +11,6 @@
"50",
"50"
],
"enable_arc_fitting": "0",
"default_acceleration": [
"4000",
"4000",

Some files were not shown because too many files have changed in this diff Show More