🎉 WIN a Snapmaker U1 Printer! Enter FREE now

--rotate-x

<degrees>
Object Arrangement & Transformation Orca SlicerBambu Studio

Rotate all loaded objects around the world X axis by a single floating-point degree value, applied once in CLI argument order alongside other transform flags, before the optional bed-seating pass runs.

Details

--rotate-x <degrees> accepts a floating-point degree value (default 0) and rotates every object in every loaded model around the world X axis by that amount before slicing. The conversion from degrees to radians is applied internally; the caller always supplies plain degrees. The rotation is applied to each object's volumes directly, meaning it is baked into the geometry that slicing operates on, not expressed as an instance-level transform on top of whatever placement the 3MF already encodes.

The flag is a scalar config option, not a vector, so the config slot for rotate_x holds exactly one value at a time. The CLI parser records a key in the transform dispatch order only on its first appearance. If --rotate-x is passed more than once, the dispatch order has a single entry for it at its first position, but the stored value is the last one supplied. The practical effect is that multiple --rotate-x flags do not compound: only the final value is used, applied once, at the position the flag first appeared relative to other transform flags.

Transform flags are dispatched in the order they appear on the command line, so --rotate-x and its siblings --rotate (Z axis) and --rotate-y compose in argument order. All transform flags run before the --ensure-on-bed pass. That pass, which lifts geometry sitting below z=0 back to the bed surface, is disabled by default and must be requested explicitly. The --ensure-on-bed flag is collected as a transform entry but treated as a no-op inside the transform dispatch loop; the actual bed-seating runs unconditionally after all transforms complete, meaning its command-line position relative to other transform flags has no effect on ordering. Because an X-axis rotation typically tilts the model so that part of its original base rises above z=0 and part sinks below it, slicing without --ensure-on-bed will produce a result where the geometry that extends below z=0 is not relocated to the bed surface.

Watch out for

  • Rotating around X nearly always moves some portion of the model below the bed plane. The `--ensure-on-bed` flag (off by default) must be added explicitly to lift it back to z=0; without it, geometry that extends below z=0 is not relocated.
  • Repeating `--rotate-x` does not stack the rotations. The config value is overwritten by each occurrence and only the last value is applied, once, at the argument-order position of the first occurrence.
  • The rotation targets every object across every model loaded in the session. There is no mechanism within this flag to target a single object in a multi-object scene.

Sign up for free today

No credit card required. Connect unlimited printers and get production automation running in minutes.