🎉 WIN a Snapmaker U1 Printer! Enter FREE now

--ensure-on-bed

Object Arrangement & Transformation Orca SlicerBambu Studio

Snap each object so its lowest vertex sits exactly at z = 0 -- lifting if embedded below the bed, lowering if floating above it -- as a single pass after all other CLI transforms complete and before slicing; most consequential for project 3MF inputs whose stored z positions may leave geometry off the bed surface.

Details

--ensure-on-bed is a boolean flag, off by default. When present, the CLI snaps every object so that its lowest vertex sits exactly at z = 0 -- the bed surface -- lifting objects whose geometry is embedded below the bed and lowering objects that float above it. It runs as a post-transform step: after --rotate, --rotate-x, --rotate-y, --scale, and any other geometric transforms have been applied, but before slicing begins. This ordering means it catches objects that were valid before a transform but end up partially embedded in the bed after one (for example, an object rotated 90° whose new geometry dips below z = 0).

The underlying operation computes the vertical offset as the negation of the object's minimum z coordinate and applies it to all instances of each object. There is no approximation or threshold: if the lowest point is 0.1 mm below the bed the object is lifted 0.1 mm; if it is 2 mm above the bed the object is lowered 2 mm. If the lowest point is already exactly at z = 0 then the offset is zero and no translation occurs. The CLI uses the strict on-bed path, so none of the sinking thresholds are engaged and the object's lowest vertex is always placed precisely at z = 0.

For inputs loaded as STL, OBJ, or non-project 3MF files, the engine already calls the same on-bed snap unconditionally at load time, independently of this flag. The flag's practical impact is on project 3MF inputs (the format produced by the slicer's save function), where object z positions are stored as authored and are not automatically corrected. If those positions embed transforms that place geometry below the bed -- or if a CLI transform subsequently does so -- the flag is the mechanism to correct it.

Watch out for

  • The snap runs after all CLI transforms, not after each one. An object that passes through an intermediate below-bed state during a sequence of transforms will still be corrected in the final pass.
  • Objects whose lowest vertex is exactly at z = 0 are unaffected. Objects embedded below the bed are lifted; objects floating above the bed are lowered. In all non-zero cases the result is the same: the lowest vertex lands precisely at z = 0.
  • STL, OBJ, and non-project 3MF inputs are snapped to the bed at load time regardless of this flag. The flag is most meaningful for project 3MF files where z positions are preserved from the original authoring session.

Sign up for free today

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