Commit Graph

46 Commits

Author SHA1 Message Date
packerlschupfer
f760f4e462 Fix Flow Ratio dialog shrinking after main window minimize (#13545)
FlowRateCalibrationDialog was missing the SetSizeHints call that every
other calibration dialog in calib_dlg.cpp uses (Cornering, Pa, Pa Pattern,
Max Volumetric Speed, Temperature, Retraction, VFA, Input Shaping). Without
it, the dialog has no enforced minimum size: on wxGTK, iconizing the main
window while the dialog is open triggers a layout/refresh that re-runs
Fit() with transient zero-sized children, collapsing the dialog to ~222x249
px with the OK button clipped and unreachable. The window manager then
honors the (incorrect) small geometry hint, so the user cannot resize it
back manually.

Two changes:

* Add v_sizer->SetSizeHints(this) after Fit() in the constructor, matching
  the pattern used by all other dialogs in this file. This locks in the
  correct minimum the first time Fit() runs, before any iconize event.

* Remove the redundant Fit() from on_dpi_changed. With SetSizeHints in
  place the WM enforces the minimum, but the unconditional Fit() on every
  DPI/refresh signal was the trigger for the shrink path; Refresh() alone
  is sufficient here.

Co-authored-by: Packerlschupfer <packerl@schupfer.at>
2026-05-16 21:29:01 +08:00
Ian Bassi
ec424fb674 Machine Input Shaping (#11202)
* Base IS Machine

* Toggle line

* Rebase

* Intento 1

* Wiki IS

* Flavorized

* Tooltips

* Calibration using the same list

* max

* Reorder JD validation

* Refactor set input shaping

* Calibrations IS

* Default values

* Axis

* Orca comments

* Rename input_shaping_enable to input_shaping_emit

Refactor all references of the input shaping configuration option from 'input_shaping_enable' to 'input_shaping_emit' across the codebase. This improves clarity by better reflecting the option's purpose of controlling whether input shaping commands are emitted in the generated G-code.

Restore DONT EMIT FOR KLIPPER

* Refactor input shaping option toggling logic

Simplifies and consolidates the logic for toggling input shaping related options in TabPrinter::toggle_options(). Uses a loop to handle enabling/disabling lines based on GCode flavor compatibility, and refines the conditions for toggling individual options.

* Improve input shaping option toggling logic in TabPrinter

* GrayOut Emit to gcode limits for klipper

* Typo

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Typo

* Skip Y input-shaper when type is Disable

If marlin2 and disabled it will be already disabled at X.

* IS expert

Co-Authored-By: SoftFever <softfeverever@gmail.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-11 19:38:40 +08:00
tome9111991
2af2f0f98b enh: flow rate pattern calibration menu (#11956)
* feat: Add flow rate calibration pattern selector dialog

* feat: Integrate PR #11881 and improve Flow Rate Calibration Wizard

- Integrated PR #11881: Display layer duration in G-code viewer position window.
- Enhanced Flow Rate Calibration:
    - Implemented a Wizard dialog (FlowRateCalibrationDialog) using DPIDialog for Dark Mode support.
    - Restricted pattern selection to 'Archimedean Chords' and 'Monotonic'.
    - Integrated logic to pass the selected pattern to the calibration generation.

* fix(UI): Refactor FlowRateCalibrationDialog to calib_dlg for macOS build fix and UI consistency

Moved FlowRateCalibrationDialog from MainFrame.cpp to calib_dlg.hpp/.cpp to resolve build errors on macOS. Updated UI to match Pressure Advance calibration dialog style (Dark Mode support, RadioGroups). Logic moved to dialog class.

* Update Wiki link for flow rate calibration

* ui: replace RadioGroup with BitmapComboBox for Flow Rate pattern selection

* fix(ui): use custom ComboBox widget for Flow Rate Calibration

Replaces wxBitmapComboBox with OrcaSlicer's custom ComboBox widget to fix rendering issues on Windows (empty selection) and compilation errors on Linux.

* Refactor: Cleanup unused includes and members in FlowRate calibration dialog

* Fix: Complete rename of Flow Rate to Flow ratio in calibration menus after merge

* Fix: Update Flow Rate to Flow Ratio in Calibration Dialog and Wiki Link

---------

Co-authored-by: yw4z <ywsyildiz@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-04-24 21:39:32 +08:00
Ian Bassi
51589035e0 Update JD calib limits (#13253) 2026-04-17 10:42:39 -03:00
Ian Bassi
d715dfc966 Wiki link fix and update (#13152) 2026-04-08 15:06:28 -03:00
yw4z
7399b5d9e6 Update calib_dlg.cpp 2026-03-12 23:58:23 +03:00
yw4z
3a98890e53 Update calib_dlg.cpp 2026-03-12 20:45:30 +03:00
yw4z
5f54e694c4 Calibration dialog Fixes (incorrect validators, scaling issues, UI refinements) (#12702)
* Update calib_dlg.cpp

* match validators

* update

* add missing linebreak

* update
2026-03-10 23:56:17 +08:00
Ian Bassi
ee52b83217 Localization update (#12572)
* Update OrcaSlicer_es.po

* ? added in code

* Spanish Update

* save your filament profile.

* Downward machines settings

* type and color.

* Update OrcaSlicer_es.po

* illegal characters

* which layer being ironed.

* Update OrcaSlicer_es.po

* by chosen filament count."

* unnecessary bridges."

* Update OrcaSlicer_es.po

* Spanish Pressure advance restore

* bandeja -> cama

* RU: Restore Pressure Advance

* Calibration text

Co-Authored-By: Felix14_v2 <75726196+Felix14-v2@users.noreply.github.com>

* Updated Localization

* Input Shaping test

* Suggestion wrapper

* Added embossJob

* Updated all

* Emboss missing marks

* Missing preset values

* Action Required

---------

Co-authored-by: Felix14_v2 <75726196+Felix14-v2@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-03-04 12:50:33 +08:00
Alexandre Folle de Menezes
ec7a5f5140 Add translation markers to measure units (#12403)
# Description
Some units were missing the translation markers, others were not in the standard format.
2026-02-23 22:53:19 +08:00
Rodrigo Faselli
084c58f365 500C temp tower Calib (#12103)
* 500C temp tower

* better model

* draco temp tower

Co-Authored-By: Ian Bassi <ian.bassi@outlook.com>

---------

Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2026-02-09 10:03:32 -03:00
yw4z
0bee82cee5 Hyperlink class (#9947)
### FIXES
• 3mf file version check dialog opens bambu releases page instead Orca

### CODE COMPARISON

<img width="112" height="36" alt="Screenshot-20251128125737" src="https://github.com/user-attachments/assets/73718a18-8159-43d5-bb80-0eb90d59a8f6" />

**wxHyperlinkCtrl**
• System decides what colors to use. so blue color is visible even with colors set
• No need to use SetCursor()
```
auto wiki_url = "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables";
wxHyperlinkCtrl* wiki = new wxHyperlinkCtrl(this, wxID_ANY, _L("Wiki Guide"), wiki_url);
wiki->SetToolTip(wiki_url); // required to showing navigation point to user
wiki->SetFont(Label::Body_14); // not works properly
wiki->SetVisitedColour(wxColour("#009687")); // not works properly
wiki->SetHoverColour(  wxColour("#26A69A")); // not works properly
wiki->SetNormalColour( wxColour("#009687")); // not works properly
```

<img width="132" height="39" alt="Screenshot-20251128125847" src="https://github.com/user-attachments/assets/f6818dc0-5078-498a-bf09-1fd36e81ebe5" />

**wxStaticText**
• Works reliably on colors and fonts
• All event has to defined manually
```
wxStaticText* wiki = new wxStaticText(this, wxID_ANY, _L("Wiki Guide"));
auto wiki_url = "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables";
wiki->SetToolTip(wiki_url); // required to showing navigation point to user
wiki->SetForegroundColour(wxColour("#009687"));
wiki->SetCursor(wxCURSOR_HAND);
wxFont font = Label::Body_14;
font.SetUnderlined(true);
wiki->SetFont(font);
wiki->Bind(wxEVT_LEFT_DOWN   ,[this, wiki_url](wxMouseEvent e) {wxLaunchDefaultBrowser(wiki_url);});
wiki->Bind(wxEVT_ENTER_WINDOW,[this, wiki    ](wxMouseEvent e) {SetForegroundColour(wxColour("#26A69A"));});
wiki->Bind(wxEVT_LEAVE_WINDOW,[this, wiki    ](wxMouseEvent e) {SetForegroundColour(wxColour("#009687"));});
```

<img width="132" height="39" alt="Screenshot-20251128125847" src="https://github.com/user-attachments/assets/f6818dc0-5078-498a-bf09-1fd36e81ebe5" />

**HyperLink**
• Fully automated and single line solution
• Colors can be controllable from one place
• Works reliably on colors and fonts
• Reduces duplicate code
```
HyperLink* wiki = new HyperLink(this, _L("Wiki Guide"), "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables");
wiki->SetFont(Label::Body_14) // OPTIONAL default is Label::Body_14;
```


### CHANGES
• Unifies all hyperlinks with same style and makes them controllable from one place
• Replaces all wxHyperlink with simple custom class. Problem with wxHyperlink it mostly rendered as blue even color set
• Reduces duplicate code
• Adds wiki links for calibration dialogs
• Probably will add "Wiki Guide" to more dialogs overtime

<img width="349" height="238" alt="Screenshot-20251127212007" src="https://github.com/user-attachments/assets/69da2732-ea35-44de-8ebc-97a01f86328f" />

<img width="355" height="459" alt="Screenshot-20251127212021" src="https://github.com/user-attachments/assets/c0df40f8-c15d-47fa-b31a-cf8d8b337472" />

<img width="442" height="382" alt="Screenshot-20251127212046" src="https://github.com/user-attachments/assets/5d94242b-6364-4b0a-8b2f-a1f482199bd1" />

<img width="225" height="241" alt="Screenshot-20250824171339" src="https://github.com/user-attachments/assets/39ca6af3-6f8a-42ee-bf1d-c13d0f54bb63" />

<img width="442" height="639" alt="Screenshot-20251127212403" src="https://github.com/user-attachments/assets/c1c580f8-3e1b-42f0-aa8e-bac41c2ff76b" />

<img width="476" height="286" alt="Screenshot-20251127212515" src="https://github.com/user-attachments/assets/28b130ce-c7c0-4ada-9842-ff7154c00c21" />

<img width="1460" height="245" alt="Screenshot-20251127212541" src="https://github.com/user-attachments/assets/3fca2649-9cd3-4aea-9153-b2f508fdfefe" />

<img width="401" height="291" alt="Screenshot-20251127213243" src="https://github.com/user-attachments/assets/82b4ec1f-6074-4018-9efa-a1b6b819ae28" />
2026-01-03 23:06:57 +08:00
SoftFever
d1f4e8abe1 New OrcaSlicer wiki URL (#11800) 2026-01-02 10:04:56 +08:00
Ian Bassi
c126aae902 PA Calib Values check (#11493)
* Add input validation for acceleration and speed values

Added a check to ensure that acceleration values are greater than speed values in the PA calibration dialog. Displays a warning message and prevents calibration if the inputs are invalid to guard against swapped or incorrect user entries.

* Add input validation for calibration parameters
2025-12-18 12:36:10 +00:00
Ian Bassi
4b1ddcdc55 Url update: SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer (#11371)
* SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer

* Revert for deps
2025-11-17 11:17:54 +08:00
Alexandre Folle de Menezes
8ec2454835 Standard units need translation for CIS Languages (#11376)
* Standard units need translation for CIS Languages
2025-11-17 10:29:44 +08:00
Ian Bassi
a839b81fdf Calibration Cornering Jerk Test + Generic interpolator + Fix (#10962) 2025-10-26 20:44:19 +08:00
Noisyfox
3b1a420b4e Merge remote-tracking branch 'upstream/main' into dev/h2d-2 2025-10-20 09:37:23 +08:00
Ian Bassi
d786aec255 Input Shaping Calib: Types, RepRap + Improvements (#10913)
* IS Freq duplicated as Base

* IS jerk to 5

* JD jerk to 0

* Base 1 layer + MINIMUM_CRUISE_RATIO=0

* Tab

* Remove IS BASE

* Update Plater.cpp

* Klipper Jerk 5, Others 10

* JD in Marlin2

* Types

* Horizontal

* Different lists

* RepRap IS writer

* Smart Flavors and axis

* RepRap values lowercase

* Hide Y axix for RepRap

* Max Jerk or JD

* Reorder

* Removed dual list + Default

* RepRap show UpperCase use LowerCase

* RepRap P"type" Type of input shaping to use, not case sensitive.

* RepRap DAA

* Reorder Klipper

* Custom Firmware Note

* Better Display

Co-Authored-By: yw4z <28517890+yw4z@users.noreply.github.com>

* Better notes

* Update + Clean Wiki

Co-Authored-By: gregmatic <60957555+gregmatic@users.noreply.github.com>

* Wiki Update

Update Images
Improve guide

Co-Authored-By: Cameron D <30559428+cdunn95@users.noreply.github.com>

* Fix G-code generation issue and refine input shaping calibration documentation

---------

Co-authored-by: yw4z <28517890+yw4z@users.noreply.github.com>
Co-authored-by: gregmatic <60957555+gregmatic@users.noreply.github.com>
Co-authored-by: Cameron D <30559428+cdunn95@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-20 00:31:51 +08:00
zhimin.zeng
885e905e76 FIX: fix some calib dialog bug
jira: STUDIO-12984 & STUDIO-12979 & STUDIO-12978
Change-Id: I29fadd20b29c76a288755122dd027820fed9252e
(cherry picked from commit 1739177f3cd10b81fd1924059f6da9ba4778ba5a)
2025-09-28 14:22:46 +08:00
Alexandre Folle de Menezes
4cab501f14 Fix inconsistencies on new translated strings (#10310)
* Unmark string that don't need to be translated

* Spellcheck

* Fix calibration strings consistency
2025-08-09 23:52:48 +08:00
Alexandre Folle de Menezes
fd0d716f53 Standard units don't need translation, part 2 (#9974)
* Revert unit change made by mistake, and fix some unit translations

* Fix the declaration of untranslated Unicode strings
2025-07-17 09:48:29 +08:00
Alexandre Folle de Menezes
fa70582ed1 Standard units don't need translation (#9965) 2025-06-22 15:10:40 +08:00
Dipl.-Ing. Raoul Rubien, BSc
3ecca6116d 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
yw4z
8fff1caa39 Class for RadioGroup & LabeledStaticBox and improvements for Calibration Dialogs, Windows with wxStaticBoxSizer (#9797)
* update

* Update calib_dlg.cpp

* Update LabeledStaticBox.hpp

* Update calib_dlg.cpp

* update

* update

* RadioGroup fix

* update

* update

* update

* update

* RadioGroup

* Fix render issue when position is set to default (-1)

* Fix macOS render issue by removing default NSBox border

* Fix compile

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-12 20:15:02 +08:00
yw4z
dd549a6c52 class for DialogButtons (#9639)
* init

* match code

* update

* Update DialogButtons.hpp

* make Ok uppercase

* update

* fix and cleanup

* Update DialogButtons.cpp

* update

* Update DialogButtons.cpp

* update

* Update CreatePresetsDialog.cpp

* update

* update

* update
2025-06-04 09:30:36 +08:00
Rodrigo
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
Ian Bassi
822de5ce29 Input shaping & JunctionDeviatio wiki + improvements (#9256)
* VFA-Calibs Wiki images

* Calib Code Fixes

Improve Settings
JD Set Precision to 3
Change damp default
Recommend 0

Fixes

* IS JD Wiki

* Updated with 9234

* IS Verbose
2025-04-13 15:17:24 +08:00
Ian Bassi
a66bc06b2d Klipper compatible
Klipper freq & damp test

Klipper guide separation from the Marlin guide

Co-Authored-By: Shane Delmore <shane@delmore.io>
2025-04-03 14:40:26 -03:00
Ian Bassi
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 Bassi
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
John Oleksowicz
d4e5a61efd Fix PCTG calibration temperatures (#9111)
It looks like start and end values are swapped. Start needs to be greater than end. If you try to hit "Ok" for the default values, it results in this error:

```
Please input valid values:
Start temp: <= 350
End temp: >= 170
Start temp > End temp + 5)
```
2025-04-02 10:11:22 +08:00
Dima Buzdyk
ecc16bfabf pa calib: batch mode for pa pattern (#7199)
* pa calib: batch mode option
2025-03-07 19:26:54 +08:00
Mike Bignell
02438e25bc Update calib_dlg.cpp (#7867)
Added values for missing PCTG temperature range. Fixes bug #7323 which caused subsiquent values to not be correct.
2025-01-02 17:47:21 +08:00
Vladimir Vukicevic
746a2bfb2d Fix input box widths in calibration UI (#6587)
* Fix input box widths in calibration panels

* Merge branch 'main' into fix-calibration-ui
2024-09-23 20:48:25 +08:00
SoftFever
b7a0b30578 Pick updates from BS 1.9.3
sync bbl profiles
FIX: [#4320] crash when edit project preset

github: #4320

Change-Id: I81eb5f0d461565d63a32100a5bebb4569cfb0b1b
ENH: add pctg type

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie01fcd4bef0d3ebec5bbd7185a87a1740068bdba
(cherry picked from commit c6276932dd92bc4283600954415eedeac6d351ce)
ENH: CLI: add logic to save metadata into 3mf from CLI

JIRA: no jira
Change-Id: I7f96c2ab9671ec1c0115e90f6d64230b8170eb38
(cherry picked from commit 3d2d6e23ba318a2b331a62e320f8ca199168f1f5)
2024-06-21 18:21:21 +08:00
Aleksej Wesselbaum
f4cf1c706b fix(TemperaturesCalibration): typo in end_temp_string (#3680)
* fix(TemperaturesCalibration): typo in end_temp_string

* Update po files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-15 22:33:17 +08:00
Scott Mudge
3433e7bfa0 Fix build warnings on windows, fix various bugs/logic errors/missing returns/etc, update boost::bind (#2229)
Fix build warnings on windows, fix various bugs/logic errors/missing returns/etc, update boost::bind.
2023-09-27 23:55:23 +08:00
SoftFever
01e4963150 temp 170 2023-09-09 11:04:45 +08:00
SoftFever
2a478ab4f9 post changes after merging BS1.7.4
Remove tracking etc..
2023-08-26 18:45:43 +08:00
thewildmage
047015fa5e NEW: Add Ellis' pattern method for pressure advance calibration
Add a new calibration pattern method for pressure advance calibration, which can better test the influence of k value on the corner. The changes of this patch are picked from OrcaSlicer by thewildmage, thanks to thewildmage for the great work!

github issue: https://github.com/bambulab/BambuStudio/issues/2222

Change-Id: Icc8fd4d52b20c1668bfa08716b48549dfada515b
(cherry picked from commit eb72d8b681bef270906406a2d10a36d4efbce900)
(cherry picked from commit 2b07c1154f4a009612f951938e7865dc338b2d9b)
2023-08-15 21:39:51 +08:00
liz.li
cbaa6bf16c ENH: modify image and introduction text
Change-Id: Ib867b6bc7200405b470b6149213c46986abf4bcb
2023-07-07 17:52:43 +08:00
zhimin.zeng
176c9053b5 FIX: add cali for 3rd party printer in mac
Change-Id: I62be98bcd6bb70c34aa83fcefe819200231bd33c
(cherry picked from commit 543d751818d80892dd3371026987199e4768b8bc)
2023-07-07 17:52:43 +08:00
zhimin.zeng
4b23192d6f NEW: add calibration for 3rd printer
cherry pick from SoftFever

Change-Id: Ibb2b4693c3f2e800dbef1542cbada6736154ce48
2023-07-07 17:29:08 +08:00