Commit Graph
308 Commits
Author SHA1 Message Date
Rad 9bba530cc2 Enhance tool change handling in GCode: Introduce support for local-z unplanned tool changes in the WipeTowerIntegration class. Update tool_change method to accommodate an additional parameter for local_z_unplanned, allowing for more flexible tool change management during Local-Z phase-b operations. Adjust related logic in process_layer to ensure proper synchronization with wipe tower planning. 2026-02-17 19:14:18 +01:00
Rad 77d0e1b2d7 Add changelog for v0.8 pre-release: Introduce filament mixer color accuracy improvements, and installation instructions. Update README to include support for development. Enhance AboutDialog with updated application name and links. 2026-02-17 16:01:17 +01:00
Rad c414e377a0 Enhance mixed filament functionality: Introduce support for gradient component IDs and weights in mixed filaments, allowing for more complex color mixing configurations. Update parsing logic to accommodate new gradient definitions and ensure backward compatibility. Implement pointillism distribution mode for same-layer mixing, enhancing user control over filament blending. Improve GUI elements to facilitate gradient weight adjustments and multi-color previews, enriching the user experience in mixed filament management. 2026-02-12 02:29:34 +01:00
Rad 112e2e5ef5 Add local Z dithering features: Implement local Z height adjustments and clipping for extrusion paths. Introduce new configuration options for local Z dithering in PrintConfig and GUI, enhancing mixed filament management. Update MixedFilamentManager to support height-weighted cadence and integrate local Z settings into the printing process. 2026-02-11 03:15:16 +01:00
xiaoyeliu a9823f19ea Fix wrong warning info & revert exceeding boundary (#141) 2026-01-26 23:32:52 +08:00
xiaoyeliu b8bf1a8fe1 Revert "Feature boundary test lxy (#128)"
This reverts commit a1769a2148.
2026-01-24 10:43:54 +08:00
xiaoyeliu b1fb3e3289 fix: wipetower's path exceeds boundary (#134) 2026-01-23 15:05:53 +08:00
xiaoyeliu a1769a2148 Feature boundary test lxy (#128)
* Add Boundary validator

* Boundary test ui

* refect & optimize boundary validation
2026-01-21 19:52:11 +08:00
xiaoyeliu d9de2fc474 Delete: M400 for U1 when changing tools (#56) 2025-12-10 10:38:01 +08:00
xiaoyeliu e89263e51a Merge: Snapmaker Orca 2.1.2 2025-11-17 10:04:25 +08:00
SoftFever b483dff617 Enhance GCode handling for Z-axis movements (#10803)
* Enhance GCode handling for Z-axis movements

- Updated `travel_to_z` method to include a `force` parameter, allowing forced Z movements.
- Modified GCode generation logic to ensure Z position is restored after unknown last positions.
- Enforce z restoreation after tool changer

* Improve filament_multitool_ramming logic

* fix indent
2025-09-21 22:03:54 +08:00
coryrc 94cc5465f1 Fix variable name comment and message (#10302)
As you can see, it's checkin the local variable
`custom_gcode_placeholders` which comes from
`custom_gcode_specific_placeholders()` which is:

```
const std::map<t_custom_gcode_key, t_config_option_keys>& custom_gcode_specific_placeholders()
{
    return s_CustomGcodeSpecificPlaceholders;
}
```

not s_CustomGcodeSpecificOptions
2025-09-19 22:41:25 +08:00
Noisyfoxandhuicong.li 282cdd111a Avoid cross perimeter improvements ported from BBS (#10220)
* FIX: fix avoid crossing perimeters not work[github issue #6597]

jira: STUDIO-11682

github: #6597

Change-Id: Ib86fac93280504e0040f1cce44dad4d02f709c01
(cherry picked from commit 35afceb9a7f4e5a3baba97f054d0e6768e4f59cf)

* FIX: optimize avoid crossing wall

jira: STUDIO-11682

Change-Id: I49b6756a5d3aeb482c019813074d8f6f9cc3c6ef
(cherry picked from commit e9b7006db994d78b9153dedfd0f89447c941cb76)

* Sync with latest BBS code

---------

Co-authored-by: huicong.li <huicong.li@bambulab.com>
2025-07-30 21:42:39 +08:00
RodrigoandNoisyfox 42e820e505 Bug fix: avoid crossing perimeters (#10185)
* avoid crossing perimeters

avoid crossing perimeters

Timelapse issue

Update GCode.cpp

Update GCode.cpp

Update GCode.cpp

Update GCode.cpp

* Update GCode.cpp

* Update GCode.cpp

Update GCode.cpp

* Update GCode.cpp

Update GCode.cpp

* Replace tab with space

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-27 16:13:36 +08:00
Noisyfox c00502638c Add ironing fan speed control (#9944)
* Internal bridge fan speed should be applied only if overhang bridge fan control is enabled

* Reduce duplicate code

* Add ironing fan speed control
2025-07-18 16:01:15 +08:00
krmz-krmz 11e2c054d0 add user name placeholder (#10109)
* Add user name placeholder

* non-ASCII character support

* fix: Explicitly include <boost/nowide/cstdlib.hpp>
2025-07-18 15:43:46 +08:00
Noisyfox 7cbd0d2b74 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
Noisyfox b9cce6c179 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
fe4a72ec94 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
3a81a8f358 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
VovodroidandNoisyfox b259ee22b3 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
anjisandNoisyfox ecfe53e488 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
zefir-o 25785abfe0 Generate GCode for skirt prior wipe tower. (#9885) 2025-06-13 14:24:26 +08:00
Alexandre Folle de Menezes b8c5ddd0ee 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
Noisyfox be2d193117 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
Alexandre Folle de Menezes d37f1b6a81 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
Alexandre Folle de Menezes e787666605 Remove empty string initializations (#9131)
* Remove empty string initializations
2025-04-26 18:00:09 +08:00
Shantanu Nair ee7ebda584 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
RodrigoandIan Bassi 8cdc9c02df 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
Vovodroid e2e06e5e89 Fix skirt start angle per object (#7374) 2025-04-14 15:24:12 +08:00
Noisyfox 97ec03692c Fix wipe tower initial movement when switching extruder offsets (#9222)
Fix wipe tower initial movement when switching extruder offsets (SoftFever/OrcaSlicer#9214)
2025-04-13 17:38:29 +08:00
Noisyfox 443034553b Fix M486 still presented even with obj exclusion disabled (#9202)
Make sure `m_enable_exclude_object` is initialized correctly from user config (SoftFever/OrcaSlicer#7775)
2025-04-13 17:38:13 +08:00
Noisyfox 2f8fa3fec2 Avoid unnecessary travel in scarf seam (#9197)
* Avoid unnecessary travel in scarf seam (SoftFever/OrcaSlicer#9139)

* Fix typo
2025-04-13 17:37:40 +08:00
Noisyfox 74df3a450b Fix wrong travel before printing first skirt point (#9179)
Fix wrong travel before printing first skirt point (SoftFever/OrcaSlicer#9109)

don't modify `last_pos`, otherwise it could move out of plate/to wrong places and cause issue
2025-04-13 17:36:36 +08:00
Noisyfox abcd6e7847 Don't apply adaptive PA in PA calibration (#9149)
Don't apply adaptive PA in PA calibration (SoftFever/OrcaSlicer#9140)
2025-04-13 17:35:57 +08:00
Vovodroid 69df9420c1 Apply single_loop_draft_shield also to skirt (#9298) 2025-04-12 11:06:30 +08:00
Noisyfox 4aafa7a90d Merge branch 'main' into VFA-Calibs 2025-04-05 14:50:12 +08:00
Shantanu Nair 4b0977d306 Fix bridge & perimeter paths to use set flow ratios in Volumetric Speed Capping (#9210)
Fix bridge, perimeter speed caps, flows
2025-04-04 15:00:56 +08:00
Ian Bassi 40928a5d22 Switch to improve readability 2025-04-03 15:56:07 -03:00
Ian Bassi 9890ab333c Disable PA
PA = 0
To improve the test and Klipper compatibility
Fix
2025-04-03 14:40:25 -03:00
Ian BassiandRodrigo 428cba9a25 Juntion Deviation + Documentation
Junction Deviation Calibration Test
Base documentation
 - VFA
 - Input Shaping
 - Junction Deviation

Co-Authored-By: Rodrigo <162915171+rf47@users.noreply.github.com>
2025-04-03 14:40:25 -03:00
Ian BassiandRodrigo 3662b5139c FastTower and Granular Parameters
Co-Authored-By: Rodrigo <162915171+rf47@users.noreply.github.com>
2025-04-03 13:59:07 -03:00
Ian Bassi 1857849cba Input Shaping Damping
Damping
Fix spanish comments
2025-04-03 13:59:07 -03:00
Ian Bassi 19dae83e40 Input Shaping Frequency
Input Shaping calibration based in https://marlinfw.org/docs/gcode/M593.html
2025-04-03 13:59:07 -03:00
Noisyfox 9db74c05c0 Fix vase mode with filament change (#8404)
* Fix lift in vase mode

* Disable vase mode of layers that have color change (SoftFever/OrcaSlicer#8387)
2025-03-30 15:34:48 +08:00
Noisyfox 4dc6530391 Fix wrong first layer temperature when ooze prevention and print-by-obj are enabled (#8927)
* Don't apply idle temperature to current nozzle (SoftFever/OrcaSlicer#8924)

* Merge branch 'main' into bugfox/ooze-prevention-current-nozzle
2025-03-16 22:32:00 +08:00
Ioannis Giannakas ec213e98fb Introduce option to control one wall draft shield (#8562)
* Introduce option to control number of skirt walls after first layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* One wall draft shield options refactor

* Merge remote-tracking branch 'upstream/main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Renamed to single loop draft shield

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
2025-03-08 16:48:07 +08:00
SoftFever bc698a88df Revert "Bug fix: Check for air filtration support on the printer level before emitting air filtration gcode command" (#8750)
Revert "Bug fix: Check for air filtration support on the printer level before…"

This reverts commit 22e410f82d.
2025-03-08 00:47:45 +08:00
Ioannis Giannakas 22e410f82d Bug fix: Check for air filtration support on the printer level before emitting air filtration gcode command (#8681)
* Check for air filtration support on the printer level before emitting air filtration gcode command

* Merge branch 'main' into Check-air-filtration-support-at-the-printer-level-too
2025-03-06 20:32:30 +08:00
SoftFever 41584cfae3 WIP: Port latest support code from BBS (#8212)
This includes the latest changes from BBS, including vertical support
painting.

Huge PR, lots of tests are needed.
2025-02-26 20:53:54 +08:00