Commit Graph

1947 Commits

Author SHA1 Message Date
f71f1928bc Fillgyroid Bug Fix (#9975)
Bugfix Fillgyroid
2025-06-23 20:42:12 +08:00
ac30ebd303 Top/bottom surface pattern density (#9783)
* Create top surface density option

* Update tooltip

* Specify what 0% top infill means

* Add density for bottom layers

* Discourage users from using top/bottom density incorrectly

* Fix percent don't need translation

* Fix incorrect indentation

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-23 10:28:21 +08:00
e375bfc2e9 Allow specifying rotation patterns for Sparse and Solid infill (#9924)
* SPE-2405: Add Zig Zag infill that is rectilinear infill but with a consistent pattern between layers.

This Zig Zag infill is inspired by the Zig Zag infill in Cura.

Change-Id: I798affa99f4b5c3bd67f47643e67530fb7c3e0cb
(cherry picked from commit 2808d04d5deef6f99f9618648e46f11de03efc98)

* Add Cross zag and locked-zag for shoes

Ported from BambuStudio

* wip

* sparse infill roratation template

* solid_infill_rotate_template

* remove rotate_solid_infill_direction

* hide sparse infill rotation template for non applicable infill pattern

* hide solid_infill_rotate_template for non supported solid infill patterns

* update icon

* support empty string for ConfigOptionFloats deserialize

* fix build errors

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2025-06-22 23:10:35 +08:00
01d52624e7 Standard units don't need translation (#9965) 2025-06-22 15:10:40 +08:00
00290af5b0 Better TpmsD infill implementation (#9966)
Better TpmsD implementation

Better TpmsD

Density Adjusted
2025-06-22 13:52:12 +08:00
990136d5ae Remove classic overhang speed code (#9934)
* Remove code related to classic overhang speed

* Remove `overhang_degree` and `curve_degree`
2025-06-20 23:01:09 +08:00
24f68c9814 Ironing support interfaces (#9548)
* Generate support interface iron extrusion

* Always ironing last

* Add options

* Move ironing speed to speed tab

* Don't iron places that are covered by upper support layers

* Disable support interface spacing settings when support ironing is enabled

* Update text
2025-06-19 15:19:05 +08:00
eb9afab3a9 Upgrade clipper & improve multi-thread performance (#7177)
* Clipper: Verify range of int32 coordinates on input.

Cherry-picked from prusa3d/PrusaSlicer@fa7debf49d

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* ClipperLib: Optimized PointInPolygon() to calculate cross products
 with int64s instead of doubles.

Cherry-picked from prusa3d/PrusaSlicer@9dca8403fe

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Reworked the ClipperLib / Polygon types to use
the tbb::scallable_allocator to better scale on multiple threads.

Cherry-picked from prusa3d/PrusaSlicer@9cde96993e

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* use tbb::scallable_allocator for Polygons and ExPolygon::holes
to better scale on multiple threads

Cherry-picked from prusa3d/PrusaSlicer@b67ad6434d

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Fixed compilation on GCC and CLang

Cherry-picked from prusa3d/PrusaSlicer@b3b44681a9

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Remove clipper2 which is not used

* Removed shiny profiler from clipperlib

Cherry-picked from prusa3d/PrusaSlicer@7e77048593

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* ClipperLib: Further optimization of memory allocation using scalable_allocator.
ClipperLib: SimplifyPolygon() - changed default winding number to positive,
      added strictly_simple parameter.
ClipperUtlis simplify_polygons() - removed "remove_collinear" parameter

Cherry-picked from prusa3d/PrusaSlicer@a7e17df25f

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* ClipperLib: emplace_back() instead of push_back().

Cherry-picked from prusa3d/PrusaSlicer@2e150795b1

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Fixed issue in a 32bit clipper, where IntersectPoint() checked for
the Y coordinate of the calculated intersection point for validity,
but the Y coordinate was already rounded to 32bits, thus an overflow
may have in rare cases masked invalidity of the result.

Cherry-picked from prusa3d/PrusaSlicer@b39c33414f

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Fixed Vojtech's out of boundary assert in Clipper library.

Cherry-picked from prusa3d/PrusaSlicer@0a202dcff3

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Update clipper to 6.4.2.

Cherry-picked from prusa3d/PrusaSlicer@b8b3cccb40

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>

* Try fix cmake opencv

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2025-06-18 17:50:44 +08:00
72aea068d5 Add 2D honeycomb infill pattern (#9483)
* Add 2D honeycomb infill pattern

* Reverted change of 2D lattice infill void area estimation

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-18 08:48:48 +08:00
09db6c47d2 Don't split tiny cracks on first layer (#9917)
Don't split tiny cracks on first layer to get an uninterrupted bottom surface
2025-06-17 19:22:16 +08:00
ef7ec9fa7c Adds resonance avoidance ported from qidi slicer (#9403)
* Update tab.cpp for resonance avoidance

* update files for resonance avoidance

updated gcode.cpp, gcode.hpp, preset.cpp, printconfig.cpp, printconfig.hpp to add resonance avoidance. Based on qidi slicer changes.

* Update README.md

* Update README.md

* Update Tab.cpp

* Update Preset.cpp

Updating code comments

* Update PrintConfig.cpp

* Update PrintConfig.hpp

* Update .gitattributes

* Remove carriage return

* Update doc

* Move resonance avoidance settings to printer settings

* Disable resonance avoidance by default

* Update options

---------

Co-authored-by: Paul Mourer <paul.mourer@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-16 13:14:00 +08:00
668b1da8d7 Disable SAFC and retract for Hilbert curve (#9592)
* SAFC flow for rectilinear/monotonic only and Hilbet curve retract

* Refactor

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-15 20:50:34 +08:00
0b14eb144b TPMS-D Infill ( Triply Periodic Minimal Surface D) (#9613)
* Fill TPMS-D

limpieza

* delete unused function

* cleaning

* Icon update

* fix missing header

* density Adjusted

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* Improve Precision +  refactoring

clean tpms.hpp

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

---------

Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-15 19:38:54 +08:00
5f4b129ef4 Fix english strings punctuation mistakes (#8901)
* Fix punctuation of enumerations

* Add missing '?' at the end of questions on hints

* Add periods after error messages

* Add punctuation to all tooltips

* Add missing periods on the pt-BR translation
2025-06-15 16:12:03 +08:00
8b3cbdc36f The multi-color printing wipe tower now includes the Bambu RIB wall feature (#9881)
* Add new Bambu RIB wall feature, including only the rib wall generation algorithm.

* Fix Linux compilation errors.

* Attempt to fix flatpak build

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-15 14:53:35 +08:00
de66749a11 fixes compiler warnings (#9619)
* compiler warnings: adds SYSTEM to [target_]include_directories to skip warnings originating from dependencies

* compiler warnings: uninitialized/unused variables, missing parenthesis, pragma

* compiler warnings: redundant template type, missing curly braces, pass 0 instead of NULL as int argument

* compiler warnings: removes fclose(fp) where fp==nullptr since fclose() has attribute __nonnull((1))

* compiler warnings: uninitialized variables, missing parentheses, missing curly braces

* compiler warnings: ? as lower precedence than <<

* compiler warnings: unused variable

* compiler warnings: unused result

* compiler warnings: undefined/unused variable

* compiler warnings: uninitialized variable
2025-06-14 21:05:25 +08:00
aff35ed255 Generate GCode for skirt prior wipe tower. (#9885) 2025-06-13 14:24:26 +08:00
598e661107 Remove sensitive data in 3mf files (#9825)
* Do not store BBL user id in 3mf file

* Do not store creation & modification date in 3mf file
2025-06-08 17:55:15 +08:00
30087a1680 Fix the spelling/grammar on the original english strings (#9487)
* Fix the spelling/grammar on english strings

* Fix the spelling/grammar on english strings, part 2
2025-06-01 19:32:36 +08:00
3383cb98dc Fix Line Infill with no anchor (#9768)
* Fix Line Fill with no anchor

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Disable anchor option for Line Infill

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-Authored-By: Henk <40023052+elektrohenk@users.noreply.github.com>

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: Henk <40023052+elektrohenk@users.noreply.github.com>
2025-06-01 13:34:44 +08:00
2d9ae54037 Fix tree support bed exclusion area calculation (#9633)
Fix tree support bed exclusion area calculation (SoftFever/OrcaSlicer#9624)
2025-06-01 13:18:03 +08:00
cf71e4f2c7 Fix the spacing on the original english strings (#9596)
* Remove extra spaces between words

* Remove extra spaces after punctuation

* Remove extra spaces before punctuation

* Always needs a space after punctuation

* Always needs a space before parens

* Remove trailing spaces before newline
2025-05-16 16:31:58 +08:00
de58fb295f Fix preview gcode misalignment caused by placeholder postprocess (#9529)
* Fix layer number placeholder process

* Fix gcode move id misalignment when M73 is disabled

* Fix gcode move id misalignment when M73 is enabled
2025-05-16 09:28:30 +08:00
e371f8f46e Improvements for Default color button in filament settings (#9581)
* init

* fix colors on theme switch

* update

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-05-11 20:11:09 +08:00
5a0f720706 Remove markers from strings that don't need to be translated (#8842)
Remove markers from text that does not need to be translated
2025-05-11 15:04:48 +08:00
05c19fb5c7 Improve UI of profile dependencies tab (#9553)
* init

* Update Tab.cpp

* update labels

* Update Tab.hpp

* Fix checkbox label

* Update Tab.cpp

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-05-10 13:49:52 +08:00
641877ca38 Fix crash when start_extruder_id is empty (#9584)
Fix crash when `start_extruder_id` is empty (SoftFever/OrcaSlicer#9580)
2025-05-09 22:47:18 +08:00
e17e2d4296 Color & shape improvements for Axes (#9495)
init
2025-05-08 16:00:48 +08:00
77676a7a9f Fix floating brim (#9393)
* FIX: brim should be extruded only on first layer

github: github.com/bambulab/BambuStudio/issues/4678

Change-Id: Ib00795dfba2e6d869c30ac906385f170088bbfd6
(cherry picked from commit b51ff1721ddc2080c4f7e487f67c4f1a722bf091)

* Fix compile
2025-05-05 11:27:42 +08:00
8bad3d9c27 PA calib: Don't decrease speed too much for the speed trick line (#9358)
* Don't decrease speed too much for the speed trick line (SoftFever/OrcaSlicer#9354)

* Make sure no negative accel/speed
2025-05-03 19:26:37 +08:00
c6f5e2e243 Ensure bed shape is in correct orientation (#9350)
Fix #9345

This also fixes deltamaker's plate logo rendering:
![image](https://github.com/user-attachments/assets/517c9b3c-8eee-4081-a2bc-5913fe35328b)

And fix bed rendering issue for custom shaped bed without model:
![image](https://github.com/user-attachments/assets/9643413e-9b1c-4e74-afe8-edf2306e7021)


Also fix rendering of exclusion area that are defined in clockwise:
![image](https://github.com/user-attachments/assets/0949c1c3-6304-4ece-85c7-f3162249bf90)
2025-05-01 17:28:10 +08:00
8a1a804d51 Merge tiny cracks that is part of a large bottom surface into bottom surface (#9332)
* Merge tiny cracks that is part of a large bottom surface into bottom surface (SoftFever/OrcaSlicer#9329)

* Revert bottom offset

* Top surfaces will have perimeters around, which need to be removed from bottom surfaces so bridges not extended to visible areas
2025-04-29 22:19:30 +08:00
1515284df3 Add translation markers on more unstranslated strings (#9134) 2025-04-26 23:11:36 +08:00
aac4337b6d Fix english strings consistency (#8881)
* "non zero" -> "non-zero"

* "Z hop" -> "Z-hop"

* "works" -> "is working"

* "version at least x" -> "version x or higher"

* "printing job" -> "print job"
"to print on" -> "printing on"

* "is not find" -> "was not found"

* "boundary of plate" -> "plate boundaries"

* "toolchange" -> "tool change"

* "colour" -> "color"

* "cancelled" -> "canceled"

* "can not" -> "cannot"

* "gcode" -> "G-code"
2025-04-26 19:59:49 +08:00
f60c2b1603 Remove empty string initializations (#9131)
* Remove empty string initializations
2025-04-26 18:00:09 +08:00
cd8b4c7091 Merge branch 'main' into bugfox/bed-shape-orientation 2025-04-26 12:35:23 +08:00
59e00d3f7c Fix infill anchor missing for FillPlanePath (#9462)
Fix infill anchor missing for archimedian chords, hilbert curve and octagram spiral infill pattern
2025-04-24 11:03:28 +08:00
c72d21d5b6 Improve gcode preview flow rate scale (#9319)
* Ignore very tiny extrusions in flow rate scale (SoftFever/OrcaSlicer#9190)

* Don't show flow rate if it's not extrusion

* Merge branch 'main' into bugfox/gcode-viewer-flow-scale
2025-04-23 23:37:08 +08:00
7bd0b8a1de Fix infill anchor missing (#9407)
* Fix infill anchor missing

* Correctly process cases without fill lines in FillRectilinear::fill_surface_with_multilines()

* Fix infill anchor missing for several other infill patterns

* Fix infill anchor missing for rectilinear and aligned rectilinear infill pattern

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-04-23 21:17:19 +08:00
3ada56b461 Fixed an issue where the Max Volumetric Speed doesn't consider the Filament Flow Ratio (#9218)
* Rework extrusion-per-mm and speed-cap logic to enforce max vol speed

* Fix _mm3_per_mm typo
2025-04-21 00:00:10 +08:00
62f22601e5 Merge branch 'main' into bugfox/bed-shape-orientation 2025-04-20 18:21:31 +08:00
04f149fb97 Fix prime tower wipe volume calculation (#9235)
* Revert "Fixed an bug that filament_minimal_purge_on_wipe_tower option doesn't work for soluable filament (#8397)"

This reverts commit fcc5489911.

* Fixed an bug that filament_minimal_purge_on_wipe_tower option doesn't work for soluable filament (#8397)

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-04-20 13:36:11 +08:00
e3bd1b14b8 Fix #6839 with final tool preheating on multitool machines causing in… (#7405)
Fix #6839 with final tool preheating on multitool machines causing in appropriate temp settings

Seems like Orca is trying to preheat the next tool in a multitool print, and ends up calling a heater off command in the last 30 seconds of any print.

This happens because there's no handling to check if the next active tool is an actual valid tool index, or its a T-1 command to end the print  since we're using the last tool.

Simply moved the preheat commands into the conditional IF that automatically fixes this issue since the tool index is now properly evaluated.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-04-20 13:24:49 +08:00
ac192a6be0 Small area semicolon description. (#8995) 2025-04-15 23:06:39 +08:00
41ba5f8845 Junction Deviation Machine Limit (#9234)
* Junction Deviation Machine Limit

jd 3

JD menu 2

JD operativo

limpieza

final

* default JD print menu without warnings

* to fix multiple instances

* Only at first layer

* Calibs upgrade

* Shown on Marlin2

Shown on Marlin2
CodeCleaning

* Update Calibration.md

* set on writer

---------

Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2025-04-15 21:49:17 +08:00
697fa4d3cb Ensure bed shape is in correct orientation (SoftFever/OrcaSlicer#9345) 2025-04-15 12:51:01 +08:00
083429ff91 Attempt to speed up outside bed detection (#8869)
* Don't check intersection if points below bed is also inside the bed, when the bed is convex

* Skip intersection check if bbox not overlapping

* Remove duplicated out of bed check

* Faster (but less accurate) bbox test

* Merge branch 'main' into dev/faster-outside-check

# Conflicts:
#	src/libslic3r/Model.cpp
2025-04-14 23:23:08 +08:00
d930911834 Fix/improve Prusa XL & XL 5T profiles (#8833)
* First set of fixes

* Add FLEX filament to PrintConfig.cpp

* Add new FLEX filament profiles to main Prusa json

* Comment out M104.1 code

* Revert "Comment out M104.1 code"

This reverts commit 831414adb75fa98b3d6aadda38a5936f04d6530c.
2025-04-14 15:39:03 +08:00
2ee96f9c71 Fix skirt start angle per object (#7374) 2025-04-14 15:24:12 +08:00
843d21e4b1 Fix rare crash when calculating bridge expansion (#9287)
* Fix #12469 - crash caused by bridge expansion.

Handle a very rare case in which the algorithm picks a wrong
polygon for expansion seed.

(cherry picked from commit 5f843cc93470c96483abcbd47cf8ee5fe38dffe2)

* SPE-2698: Fix crash during regions expansion.

(cherry picked from commit a3f75133c8baead6f8d7bb01722a6bfcdc2e9038)

---------

Co-authored-by: Martin Šach <martin.sachin@gmail.com>
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2025-04-13 17:39:28 +08:00