Commit graph

323 commits

Author SHA1 Message Date
Stephen Schwetz
00a44ee48c
Enable checkbox in printer profiles to permit first layer scanning to be enabled/disabled via the slicer (#8614)
add missing checkbox for scan_first_layer
2025-03-01 13:20:55 +08:00
Noisyfox
a9a6f45f08
Merge branch 'main' into dev/support-paint-vertical 2025-02-23 15:50:21 +08:00
wujie
00a3e78f8a
Add elegoo centauri carbon profile (#8405)
* Added Elegoolink connection

* Set Elegoo CC default bed to btPTE

* Friendly output of some error codes of PrintHost

* feat: Add elegoo centauri carbon profile

* fix: Fix the issue where the bed type in the printer configuration does not match the bed temperature settings when multiple bed types are not supported.

* feat: Modify the elegoo process parameters to disable slowdown_for_curled_perimeters.

* feat: Update comment to clarify plate visibility for multi bed support, BBL printer, and selected bed type.

* fix: Optimize ElegooLink upload; The code is clearer than before.

* feat: Format the ElegooPrintHostSendDialog code.

* fix: Remove the unnecessary instantiation attribute in the Elegoo process.

* fix: Flatpak compilation failed

---------

Co-authored-by: anjis <anjis.zhou@elegoo.com>
2025-02-18 23:08:34 +08:00
Kaarel Pärtel
830c1ac928
Add minimum flow rates for spiral vase transitsions (#8333)
Add minimum flow ratios for spiral vase transitsions

Currently when starting the spiral vase the extrusion rate is ramped
from 0 to 100% on the first layer and from 100% to 0% on the last layer.
In some cases it can lead to underextrusion at the beginning and end of
the spiral.

This change adds minimum flow ratio options for the beginning and the end
of the vase. This means that instead of ramping from 0% to 100% it
instead ramps from for example 20% to 100%.

This issue has been reported in SuperSlicer
https://github.com/supermerill/SuperSlicer/issues/4195
2025-02-17 08:55:23 +08:00
SoftFever
a4e37d428e Hide the dependencies tab for process. The UI is not ready yet. 2025-02-16 18:26:01 +08:00
SoftFever
85bbbee8bc
Expose interface_shells option (#8411) 2025-02-15 23:26:52 +08:00
SoftFever
12fb6db8ef
Fixed a bug that flash matrix affects multi tool's wipe tower (#8408)
disable/ignore purge_in_prime_tower for multi tool machine
2025-02-14 23:38:51 +08:00
Ioannis Giannakas
b4a7721cc0
Enhancement: Additional controls over bridges (#8263)
* Additional control over bridges

* Label updates

* Detect and handle layers over external bridges

* Label updates

* To-Do placeholders

* Filter out small external bridges

* Apply safety offset for internal bridge polygon intersections

* code comments

* Increase bridge offsets to 3 perimeters total (1.5 perimeter in each dimension)

* Filter out bridges based on perimeter counts to focus bridge on areas where bridge infill is actually generated in the end.

* Fixing bugs

* Convert tick boxes to drop down menu

* Additional geometry checks for second internal bridge to ensure no small polygons are left over.

* Minor code refactor for clarity

* Further refinements in polygon logic

* Polygon logic refinements pt3

* Further union operations to ensure clean geometry

* Fix compile error

* Clean up constructors

* Only create bridges on stInternalSolid areas, not sparse infill.

* Refactor internal second bridge logic to stand alone parallel for loop to avoid thread deadlocks

* Revert change to only consider stInternalSolid areas for second internal bridge layer.

This resulted in partly unsupported solid infill areas above as the remainder was too narrow to generate sparse infill

* Updated beta statements and tooltip changes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-02-12 22:10:57 +08:00
Eric Maglio
5145707801
Add "2D Lattice" fill pattern for lightweight aircraft structures (#8293)
* Add 2D lattice infill pattern

* Add state invalidation behavior for lattice infill angles

* Update SurfaceFillParams methods to account for lattice infill angles

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-02-12 08:39:29 +08:00
Ioannis Giannakas
229a826aa7
Enhancement: Internal Bridge angle override (#7908)
Internal Bridge angle override
2025-02-09 22:00:16 +08:00
Ioannis Giannakas
4e74aaf144
Enhancement: Enable separate internal bridge fan speed control (#7906)
* Separate internal bridge fan speed control

* Merge branch 'SoftFever:main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'SoftFever:main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge remote-tracking branch 'upstream/main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control
2025-02-09 21:53:57 +08:00
Arthur
1c686b3c04 ENH: improve tree supports
1. speedup organic tree support by using parallel for intersection of bed area
jira: STUDIO-8451
2. add extra wall for hybrid tree support's tall branches
3. disable circle fitting for tree support. This feature produces inconsistent
   circles for tree supports.
4. expose the option tree_support_branch_diameter_angle. Tree supports'
   strength can be improved by increasing this value.

Change-Id: If3688ca895df98a77f6ca538077daf8fe94e53f1
(cherry picked from commit 7697eb3dc8f87204d28e6be9adaf55dfcdadbc74)
2025-02-08 11:34:46 +08:00
Arthur
3e7e4df7ce ENH: precise tree support wall count
Change the behavior of "tree support wall count" option, let it control precisely.
0 means auto.

jira: STUDIO-8068
github: 4780
Change-Id: I6d1a64cff9b121f5c0a3e910c5ddbfe6db198687
(cherry picked from commit a557bbe758cd352fa9bb48323995ed2c90737577)
2025-02-08 11:34:42 +08:00
Arthur
532dcae37a ENH: add rectilinear interface pattern for organic support
1. add rectilinear interface pattern for organic support
    jira: STUDIO-7181
2. add tree support optgroup

Change-Id: I94882bc34a61c6adc06b8ecbc9f2323f9b039aac
(cherry picked from commit a8142ab3f37e0bd140a31a7e635b8475f471d7e3)
(cherry picked from commit 69cf816b9431bc21ca0187c7db1148e2d2e898ab)
2025-02-08 11:34:38 +08:00
Arthur
fd3ed419c2 NEW: add support_object_first_layer_gap option
jira: STUDIO-6202
github: #3521

Change-Id: I6f1ce9f5312e9482c0f5bf6ac3215861c501106c
(cherry picked from commit 83027d923a6e67fa0013e5d9f627283c68e996de)
(cherry picked from commit 29da3bc441a194d5b83ce267fe24ebf3f3811133)
2025-02-08 11:34:30 +08:00
Arthur
d0868d6711 ENH: accurate top z distance for tree support
1. accurate top z distance for tree support
 Also fix a bug that bottom z and top z distances are misused.
    jira: STUDIO-3000, STUDIO-5990
    github: #1827
2. Change interface pattern to interlaced rectilinear when using
support material.
2. clean up tree support code

Change-Id: Icc8ce1b6844c841a6fbd1d623df707fdc8ed0f7b
(cherry picked from commit da7412a48dfb5767918ef125b9d0fb9718c03a61)
(cherry picked from commit 39ae64fc53abec794d740e36baaa13fd6fb35849)
2025-02-08 11:34:23 +08:00
Noisyfox
cc9f29c463 Rename smsOrganic to smsTreeOrganic 2025-02-08 11:34:22 +08:00
Arthur
14ecfac592 ENH: open support wall count for normal support
1. open support wall count for normal support
  Enabling this option makes normal support stronger and gives
  better overhang quality, but also more difficult to removal.
  Jira: STUDIO-5192
2. fix a bug where tree support (hybrid style) may get overlapped
  extrusions near the walls.
3. fix a bug where raft layers can't be 1 in tree support
  Jira: STUDIO-5261

Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8
(cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90)
(cherry picked from commit bf93fd02fb)
2025-02-08 11:34:18 +08:00
Nick Johnson
fd0b2547f2
Add support for structured noise (perlin) fuzzy skin (#7678)
* Add support for perlin noise fuzzy skin

* Support multiple types of coherent noise

* Updated tooltips for more clarity.

* Reorder options as suggested by @discip

* Fix accidental removal of &

* Move libnoise to deps

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-01-27 22:45:16 +08:00
SoftFever
6a4cf24e6b
Merge branch 'main' into feature/OrcaFilamentLibrary 2025-01-24 22:12:38 +08:00
Vovodroid
7a5746b1ae
Support threshold overlap (#6606)
* Support threshold overlap

* Update tooltip
2025-01-23 18:01:38 +08:00
SoftFever
1df52936f2
Merge branch 'main' into feature/OrcaFilamentLibrary 2025-01-22 21:42:13 +08:00
Noisyfox
61331ce113
Fix extruder number issue when SEMM is not enabled (#8027)
* Revert ac80575b28

* Fix issue that extruder number is not initialized properly when SEMM is not enabled
2025-01-22 10:02:57 +08:00
Heiko Liebscher
5ec8f51bd4
fix little typo Customize (#8069)
Customize
2025-01-20 20:44:30 +08:00
SoftFever
f8698d89a4 Move compatible_printers from developer mode to Advance mode 2025-01-15 22:54:56 +08:00
Azi
4c955e5cb5
enabled dependency setting for filament and process (#6235)
* enabled dependency setting for filament and process

* Add information about inheritance back to Dependencies tab

* Merge pull request #1 from michmela44/Add_inherits_to_dependencies

Add information about inheritance back to Dependencies tab

* Merge branch 'main' into feature/enable_profile_dependencies
2025-01-13 20:49:46 +08:00
Marius Wachtler
2b95ef4e3b
Fix some errors uncovered via compiler warnings (#7954)
* fix: tray_exist_bits != tray_exist_bits comparison

* fix: title == GetTitle() == title comparison

* fix: possibly dangling reference to a temporary
```
OrcaSlicer/src/libslic3r/calib.cpp:456:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  456 |     const auto &w         = bed_ext.size().x();
OrcaSlicer/src/libslic3r/calib.cpp:456:45: note: the temporary was destroyed at the end of the full expression ‘((Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>*)(& Slic3r::BoundingBoxBase<PointClass>::size() const [with PointClass = Eigen::Matrix<double, 2, 1, 2>]()))->Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>::x()’
  456 |     const auto &w         = bed_ext.size().x();
```

* fix: mixup of | and ||
in this case I think it actually does not change the semantics it just means that both comparison have to be evaluated.

* fix: multi-character character constants need "

OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: multi-character character constant [-Wmultichar]
  392 |     if (auto n = tunnel.find_first_of('/_'); n != std::string::npos)
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp: In member function ‘void Slic3r::GUI::MediaPlayCtrl::Stop(const wxString&)’:
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘12127’ to ‘95’ [-Woverflow]

* fix: missing paranthesis - skips null check

* NFC: Remove this check it can never be false

* NFC: fix warning: statement has no effect
2025-01-08 13:06:39 +08:00
Diogo Santos
7834f78c90
Feature Ironing Inset added (#7969) 2025-01-08 11:35:08 +08:00
xiaoyeliu
ac80575b28
Fix:wrong extruder count by switching printers with tab (#7860)
1.Fix: wrong extruder_counts by Switching between multi-extruder printers using tabs 2. unneccessary unsaved dialog
2025-01-08 11:33:23 +08:00
Ioannis Giannakas
bb009eaa99
Enhancement: ERS - Option to limit ERS to external perimeters and overhangs only (#7399)
* Option to limit ERS to external perimeters and overhangs only

* Label name

* Label update

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
2025-01-05 23:19:00 +08:00
Ioannis Giannakas
2f55dd7cfe
Fix regressions with introduction of supertak plate for non BBL printers. Generalised plate title. (#7883) 2025-01-01 22:34:38 +08:00
xiaoyeliu
1af51d66c6
Fix: Switching between multi-extruder printers using tabs can cause t… (#7483)
fix: Switching between multi-extruder printers using tabs can cause the filament count to be incorrect.
2024-12-14 14:38:35 +08:00
discip
ef28de69a5
reordering and renaming certain menu items (#7573)
* reordered Z-Hop settings

* Update Tab.cpp

* Update PrintConfig.cpp

* reordering **`Compare presets`** to match the layout in the sidebar
2024-12-14 14:34:08 +08:00
f0x52
25b1ec6843
[feature] Add Bambu Cool Plate SuperTack (#7670)
* ENH: add supertrack plate

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I89017c9933597ee035aa20ba3852db6f629f5e20
(cherry picked from commit 78572cbff864e5e78255f2e0eb6e40237bc0bab9)

* NEW:add SuperTack svg

jira: none
Change-Id: Id6153f76f8634d1f00485991b75cbe526fb64adc
(cherry picked from commit 6404f06e79d38ffa8f7f296b10af2af1c2a3974d)

---------

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
2024-12-14 14:16:24 +08:00
xiaoyeliu
484c43ca4d
Feature: set different colors to tools on devices with multitools (#7125)
For devices with multitools, set the default colors of filaments for each tool to different colors
2024-12-01 20:49:55 +08:00
Vovodroid
ca35ba4107
Retract on top layer option. (#6188)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-11-23 23:23:04 +08:00
SoftFever
09672ea90c
Merge branch 'main' into feature/show-extruder-values-on-filament-overrides-tab 2024-10-07 19:43:50 +08:00
SoftFever
99d4d0957a
Add support for textured cool plate (#6860)
support textured cool plate
2024-09-22 16:48:49 +08:00
SoftFever
7364b38592
updates for PR #6638 - typos and grammar (#6673)
Including a marathon of resolving merge conflicts due to PRs today.
We should abolish multi-line msgids :-)


# Description
This looks like a huge PR, but it is only fixes for typos and grammar.
On the previous PR #6638 I mistakenly used _en.po as the reference
instead of the .pot.
It caused missed strings in the source and other .po files.
This around I triple checked again to make sure the msgids are in sync
with the L"" strings in the code.

Comments, variable names and non-English translation strings were
excluded.

I learnt that typos were "fixed" before by using translations. After
this PR, those translations are no longer relevant and can be cleaned
up.
Hopefully this sets a new baseline which will last us a while. :-)

<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests
The code compiled and ran successfully.
The translation files were verified with ./run_gettext.sh

I did not se any issues when running ./run_gettext.sh --full
Please confirm it again, before the merge.

<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
2024-09-08 22:11:20 +08:00
SoftFever
36550f1fc5 deprecate overhang_speed_classic option and enable slowdown_for_curled_perimeters by default 2024-09-08 22:05:13 +08:00
Henri van der Riet
5b0ddbd5f7 merge conflicts 2024-09-08 01:04:19 +02:00
Henri van der Riet
e750727743 updates for PR #6638 - typos and grammar
Including resolved merge conflicts.
2024-09-08 00:16:33 +02:00
SoftFever
415bedef94
Enabling object skirt. (#6487)
Implements individual object skirts, as requested in  **Individual skirts when printing by object. #3486** and  **Skirt around each object when using "by object" sequence #2652**

Now skirt type could be
![image](https://github.com/user-attachments/assets/532ecd91-fe3e-4bdb-b22f-ef28439ab7a6)

This PR based on several refactorings, including  **Configure skirt start point #6490** PR. To make review more easy each step was committed individually. Obviously them could be separated to different PRs or dropped.

I removed `prime_extruder && first_layer && extruder_id == first_extruder_id` as explicit object skirt is available.

Open question : do we need both common and object skirt together, probably with separate loop number?


All four combinations are possible.

Print by layer, common skirt:
![image](https://github.com/user-attachments/assets/5509f10b-ed3b-4243-8763-7ddcb101c67a)

Print by layer, object skirt:
![image](https://github.com/user-attachments/assets/deca3ca6-8bf7-4e5b-a356-2f5dd6e81566)

Print by object , object skirt:
![image](https://github.com/user-attachments/assets/7d1b2ddc-e61f-4d77-9ed4-e33fdd62d290)

Print by object , common skirt (any meaning?):
![image](https://github.com/user-attachments/assets/e7883eb4-b1a3-4158-a7f4-ce0658bc1939)
2024-09-07 23:46:54 +08:00
SoftFever
220213e846 Revert "Fix typos and grammar (#6638)"
This reverts commit 1afc1372bc.
2024-09-07 20:04:17 +08:00
henrivdr
1afc1372bc
Fix typos and grammar (#6638)
* fix lots of typos, grammar etc.

* merge conflict

* merge conflict

* merge conflict

* merge conflict

* revert gettext comments

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-09-07 18:00:01 +08:00
Ioannis Giannakas
2c5478ee96
Combined infill max layer height (optional) parameter (#6401)
* Combined infill max layer height parameter

* Combine sparse infill - allow % over nozzle diameter too.

* Updated defaults and tooltips

* Update PrintConfig.cpp
2024-09-07 16:20:46 +08:00
SoftFever
5b5cd478c2
Merge branch 'main' into skirt-object-fix-pr 2024-09-07 10:57:59 +08:00
SoftFever
3e6d2d0f45 hide adaptive_bed_mesh and thumbnails parameters for bbl machines 2024-09-03 22:56:24 +08:00
Ioannis Giannakas
0ba4181a06
Ported filament shrinkage compensation for XY and independent Z from Prusa Slicer (fixing MMU painting, seam painting, support painting issues) (#6507)
* Ported filament shrinkage compensation from Prusa Slicer. Updated logic to be 100 = no shrinkage to be consistent with orca definitions

* Code comments update

* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer

* Merge remote-tracking branch 'upstream/main' into Filament-Shrinkage-compension---port-from-Prusa-slicer

* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
2024-08-28 23:15:39 +08:00
Victor Usoltsev
b34ac2bda3
Merge branch 'main' into feature/show-extruder-values-on-filament-overrides-tab 2024-08-28 20:22:40 +12:00