Skip to content

Machine Input Shaping#11202

Merged
SoftFever merged 23 commits into
OrcaSlicer:mainfrom
ianalexis:IS-Machine-setting
May 11, 2026
Merged

Machine Input Shaping#11202
SoftFever merged 23 commits into
OrcaSlicer:mainfrom
ianalexis:IS-Machine-setting

Conversation

@ianalexis

@ianalexis ianalexis commented Oct 30, 2025

Copy link
Copy Markdown
Collaborator

Description

Added Resonance Compensation override to set your printer Freq and Damp values.
This is a good improvement for Marlin printers that have their IS menu disabled (here is an example of people asking to add it to the FW for Ender 3v3 SE CrealityOfficial/Ender-3V3-SE#8)

  • Types
    • Adaptive Klipper, RRF or Marlin 2
    • Disable: Override the Firmware with 0 freq and 0 Damp.
  • X
    • Freq
    • Damp
  • Y (Disables in RRF)
    • Ferq
    • Damp
  • Mod: Print machine envelope to add IS values in klipper.
  • Mod: Disable "Emit limits to G-code" for klipper.
  • Wiki
imagen
260106_102721_orca-slicer.mp4

@ianalexis ianalexis force-pushed the IS-Machine-setting branch 5 times, most recently from 2ca816a to bb5f397 Compare November 3, 2025 15:31
@ianalexis ianalexis marked this pull request as ready for review November 3, 2025 15:44
@ianalexis ianalexis force-pushed the IS-Machine-setting branch 2 times, most recently from 8fae183 to 040bbe5 Compare November 6, 2025 15:39
Comment thread src/libslic3r/GCodeWriter.cpp
Comment thread src/libslic3r/GCodeWriter.cpp Outdated
Comment thread src/slic3r/GUI/Field.cpp
Comment thread src/slic3r/GUI/Field.cpp
Comment thread src/slic3r/GUI/Field.cpp
Comment thread src/slic3r/GUI/Tab.cpp
coryrc
coryrc previously requested changes Nov 7, 2025
Comment thread src/slic3r/GUI/Field.cpp
@ianalexis ianalexis force-pushed the IS-Machine-setting branch 2 times, most recently from 6fd6aa2 to 90cabe0 Compare November 12, 2025 19:57
@igiannakas

Copy link
Copy Markdown
Collaborator

@SoftFever @Noisyfox what do you think of this feature? Typically from what I understand for Klipper printers at least the parameters under the printer section are not emitted to klipper as motion constraints - this would introduce a bit of a discrepancy there as the machine limits now would be a "hybrid" - settable for IS but not settable for acceleration max, speed max.

In addition this would not support Kalico and the smoothers (vs shapers) as they are not present in the list.

image

Basically do we maintain separation of config between printer and slicer or start integrating the two more broadly? The positive is that less "work" is needed in setting up the printer. The downside is that we are tying the slicer to bespoke firmware commands to set these parameters.

If we do go down the route of bringing this in the slicer, we have to ensure that if IS checkbox is disabled, that the firmware limits are not disabled as this would prevent Kalico from using motion smoothers.

Thoughts?

@Noisyfox

Copy link
Copy Markdown
Collaborator

Basically do we maintain separation of config between printer and slicer

I was wondering the same thing actually. On one hand, these configs should clearly be defined in printer firmware, on the other hands be able to change those values from slicer makes tweaking those values (ie calibrating) easier.

@igiannakas

Copy link
Copy Markdown
Collaborator

Indeed yes. Plus we also need to cater for firmware variants (kalico) and provide option to not change the firmware defaults (which should be the default option at merge)

@ianalexis

Copy link
Copy Markdown
Collaborator Author

Indeed yes. Plus we also need to cater for firmware variants (kalico) and provide option to not change the firmware defaults (which should be the default option at merge)

Thats why i put "default" option, to avoid override the type, also if 0 is set as freq or damp it will keep the values used by the firmware.
This way:

  • If you want to change only the type you select your new type keeping at 0 freq and Damp
  • If you want to change only freq you keep type with default and set your freq value different than 0.
  • Damp same as Freq.

In a future update i was thinking to add a "custom" type for this and the calibration test but first the basics.

@igiannakas igiannakas added enhancement New feature or request QoL labels Nov 17, 2025
@ianalexis ianalexis force-pushed the IS-Machine-setting branch 3 times, most recently from 3c48449 to df2637e Compare November 21, 2025 11:17
@ianalexis ianalexis force-pushed the IS-Machine-setting branch 2 times, most recently from 71943e2 to 6d51ddf Compare November 25, 2025 16:50
@ianalexis ianalexis force-pushed the IS-Machine-setting branch 2 times, most recently from 838e642 to 87c502a Compare November 29, 2025 15:29
@ianalexis ianalexis force-pushed the IS-Machine-setting branch 3 times, most recently from 6c11cce to defa3ae Compare December 18, 2025 15:06
ianalexis and others added 23 commits May 10, 2026 13:59
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
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.
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
If marlin2 and disabled it will be already disabled at X.
Co-Authored-By: SoftFever <[email protected]>
@ianalexis ianalexis force-pushed the IS-Machine-setting branch from 12024ca to 4f47e9a Compare May 10, 2026 17:03
@ianalexis

Copy link
Copy Markdown
Collaborator Author

Okay, I don't see any major issues here. It's a convenient way to override the input shaping parameters. @ianalexis, do you mind adding these parameters to the comExpert category instead of comAdvance?

Done

@SoftFever SoftFever left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@SoftFever SoftFever merged commit ec424fb into OrcaSlicer:main May 11, 2026
17 checks passed
@github-project-automation github-project-automation Bot moved this from To be reviewed to Done in OrcaSlicer Community Board May 11, 2026
@ianalexis ianalexis deleted the IS-Machine-setting branch May 11, 2026 11:52
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request May 11, 2026
* main: (60 commits)
  Fix new IS wiki redirection (OrcaSlicer#13569)
  Machine Input Shaping (OrcaSlicer#11202)
  Tool Position window improve reading of vertex info (OrcaSlicer#12614)
  Printer selection dialog redesign (OrcaSlicer#12248)
  Adjust creality generic ASA first layer temp from 60c to 100c (OrcaSlicer#13558)
  Fixed an issue that X2D 0.4 don't have default material
  Fix DropDown submenus on Linux/Wayland (OrcaSlicer#13563)
  K2 Plus/K2: add print area bounding box for adaptive bed mesh (OrcaSlicer#13290)
  Add Flashforge printer profile for Creator 5, Creator 5 Pro. (OrcaSlicer#13259)
  Add Cubicon xCeler-Mini printer model and material profiles (OrcaSlicer#13172)
  Add Repetier Gcode Flavor as option (OrcaSlicer#13126)
  Add FILL3D PLA Basic, PETG, PP, PPCF, PA filament profiles (OrcaSlicer#12973)
  Add Anycubic Kobra 3 Max (OrcaSlicer#11586)
  Warn user for abnormal temperature differences for nozzle and bed (first layer vs other layers) (OrcaSlicer#12345)
  Fix support interface semantics, gap handling, behavior; fix bottom interface generation for organic trees; fix non organic tree interfaces (OrcaSlicer#11812)
  Fix “Jump to” links for non-print preset settings (OrcaSlicer#13381)
  Fix K2 family chamber temperature control defaults (OrcaSlicer#13399)
  Add GreenGate3D PETG filament profile (OrcaSlicer#13448)
  X2D Support (OrcaSlicer#13388)
  attempt to reduce freezing issues caused by model dialog on Linux
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request QoL

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants