Part Alignment Features (Edge And Planar Matches)

Currently, Bambu Studio offers only very limited support for aligning multiple parts of a larger object. There appears to be a basic form of snapping, but it’s inconsistent and lacks precision—especially for complex assemblies or modular prints.

It would be extremely helpful to introduce more powerful part alignment tools, similar in concept to Onshape’s Mate Connectors, or even simple face and edge matching. Since functionality like “Drop on Face” and the measurement tool already exist, much of the groundwork is likely already in place.

Suggested Features

1. Face-to-Face Match

  • Select a face on each part.
  • Move one part so its selected face aligns coplanar to the other, similar to how “Drop on Face” works with the build plate.
  • Optionally, provide a “flip face” toggle to reverse orientation.

2. Edge-to-Edge Match

  • Select a straight edge from each part.
  • Align and optionally rotate one part so the selected edges are coincident and colinear.
  • Useful for aligning parts along a shared boundary.

3. Point-to-Edge or Point-to-Point Match

  • Select a vertex or point on one object, and either a point or edge on another.
  • Move the object so that the chosen point lies exactly on the selected feature of the other part.
  • The movement should be along the shortest possible path, without automatic rotation—ideal for final positioning after orientation via face/edge match.

Why This Matters

These features would dramatically improve the user experience when:

  • Printing multipart models that must assemble precisely.
  • Nesting parts that interlock or snap together.
  • Creating modular designs, jigs, or fixtures.

Even if these alignment actions were not persistent (i.e. not stored as constraints), having them available as tools to assist manual placement would be an excellent step forward.

Feasibility

The “Drop on Face” and measurement tools already compute vectors, normals, and distances between geometry. Extending this capability to allow a user to apply the measured transformation (e.g. move object A to reduce distance to 0 along vector V) would likely require relatively little additional UI and logic compared to what it does.

Prior to any matching

After face match

Preparing a edge/point match

After edge/point match by setting distance to 0

Another edge/point match

Finally, fully aligned, setting the other distance to 0 too

1 Like