The Transform tool property panel is shown to the right. Note that although they do not have a border, the numeric-value fields can be directly edited if you click on them.

The Coordinate Space drop-down is used to select which coordinate frame is used for the 3D transformation. See below for details.

The Translate X/Y/Z fields define the change in position of the object, except if Absolute snapping mode is enabled (see below). Then these fields show the absolute position of the object.

The Rotate X/Y/Z fields specify the amount of rotation around the 3 frame axes. 

The Scale X/Y/Z fields define the relative scaling applied to each axis. When the Uniform Scaling box is checked, any change to one of these values will set the other values to the same number. So, if you have applied some non-uniform scaling, it will be discarded in this case.

The Size X/Y/Z fields specify the dimensions of the object(s), measured along the axes of the selected frame. When Uniform Scaling is checked, changing one of these values will apply the same scaling factor to each dimension (so any existing non-uniform scaling is preserved)

The Enable SnappingAbsolute Coords/Sizes, and Snap Step settings control the behaviour of translation/scale snapping, and are described below.

3D Transform Widget

In addition to the property panel, you can directly manipulate a transformation using the 3D widget that is shown in the scene. This widget is located at the current center of the transformation. The widget is composed of various color-coded elements, which we call handles. You will see this widget in many tools, but in some cases certain handles are not shown. Here we describe them all.

Axis Translation is specified using the colored arrows. Pulling on the arrow moves the widget (and hence the object) in that direction. The color-coding is based on the RGB color space. Red - R - is the color (1,0,0), so the X-axis, also (1,0,0), is colored red. Similarly, the (0,1,0) Y axis is colored Green, and the Z axis is colored Blue. 

Plane Translation is specified using the colored triangles. Pulling on one of the triangles allows translation in the plane of that triangle. Think of this as moving in the plane perpendicular to the same-colored arrow (hence the coloring of the triangles). 

Axis Rotation is specified using the colored arcs. Again, the coloring of the arcs corresponds to the coloring of the axis you will be rotating around. Pulling on one of the arcs rotates around that axis.

Axis Scaling is specified using the colored squares. This introduces non-uniform scaling, which may not always be supported, so these squares are no always shown.

Finally, Uniform Scaling is specified using the white cube in the center of the widget. This is the only handle that is 3D, because it changes all 3 dimensions at once. 

You may notice that surrounding the transform widget, there is a grey circle with some attached discs. We explain these additional widgets below, once we have explained how they are used.

Coordinate Space

The Coordinate Space parameter is used to specify which set of 3D axes you wish to use in your 3D transformation. Currently there are two options. The World Frame is the canonical axis-aligned coordinate system, where Y always points upwards, and X always points to the right. The Local Frame is the object-specific local coordinate system, which is updated as you rotate the object. So, for example, a cylinder could have its local frame oriented such that one axis is aligned with the cylinder axis, as shown below-left.


In many situations it can be useful to specify alternative coordinate systems for 3D transformations. For example, if you wish to rotate one object "around" another. In Meshmixer you can do this via the Pivot system. A Pivot is basically a way to store a 3D coordinate frame in the scene. Once you have created a suitable pivot via the Create Pivot tool, you can use it in the Transform tool by left-clicking on it. The Pivot will turn yellow and the Transform Widget will be re-centered. The images below show an example where we rotate a cylinder around the edge of a cube. 



Rotation Snapping

When you use the Rotation handles, you will see a ring of tic-marks appear. A black line shows you the current angle in this set of tic-marks, and the angle in degrees is displayed. This will allow you to free-rotate. However, if you wish to snap to the tics, move your mouse cursor over the ring. It will become darker, as shown below-right, and the angle will snap to the nearest increment. Note that this snapping is always relative to the frame axes. 

By default, the ring is set to 5-degree increments. If you would like more precision, you can use the arrow keys on the keyboard to increase or decrease the tic-mark density. Note that this is only possible during a rotation! Use right or up to increase, and left/down to decrease. There are settings for 45, 15, 10, 5, 2.5, 1, and 0.5-degree increments. The ring will become larger at the 1 and 0.5-degree settings, so that you can still hit specific tics.


Translation Snapping

Our Transform widget supports snapping for both the linear and planar handles. For the linear axis handles (the arrows), you must enable snapping by either checking Enable Snapping in the property panel, or by toggling the S widget to green (see below). When snapping is enabled, as you drag on the widget a line of tic-marks will appear, as seen below. As you drag on the handle, the center of the translation widget will snap to these tics. A red dot shows where you started.

Translation snapping has two modes - Absolute and Relative. You can think of Absolute snapping as snapping to the world-space grid, while Relative mode snaps to a grid centered on the object when you started the operation. So, if you want to "move the bunny 6 mm to the left", you would use Relative mode. If you want to move the bunny to y=0, you would use Absolute mode. You can toggle between Absolute and Relative modes using either the Absolute Coords/Sizes checkbox in the property panel, or the A widget (see below).

Plane-translation snapping is identical except the snapping is to corners on a grid instead of tics on a line, as shown below.

Just like for Rotation Snapping, you can change the snapping step-size (the tic-mark increment) using the arrow keys. Note that this is only possible during a translation! Use right or up to increase, and left/down to decrease. At the highest default setting (0.1mm), the tics will be very closely-spaced, however you can zoom in to get more precision. You can also directly specify a snap increment using the Snap Step field in the property panel.


Scale Snapping

Snapping for the Scale handles is similar to for Translation. The actual snapping is applied to dimensions, rather than the relative scale factors. So, in Absolute mode, the widget will snap to dimensions that are multiples of the Snap Step, while in Relative mode, multiples of the Snap Step will be added/subtracted from the initial dimension. While snapping, two red ticks show the initial dimension along the axis, and two black ticks show the current dimension, as shown below-left. For the Uniform Scale handle, as you move the cursor we perform snapping in each axis, and use the scale value that results in the smallest change. 

Like in Rotation and Translation, you can manipulate the Snap Step using the arrow keys during a scale interaction. However there is no visual indicator of the Snap Step, it is only shown in the property panel.


Extended Transform Widget

We can now explain the small green circles that surround the Transform 3D widget. The L and W circles in the top-right toggle between the Local and World frames, just like the Coordinate Space drop-down. The active frame corresponds to the circle highlighted in green. In many tools these controls are available even when that tool's property panel does not expose the Coordinate Space setting.

The S and A circles in the bottom-left control snapping. The S circle is tied to the Enable Snapping property, while the A circle is tied to the Absolute Coords/Sizes property. The S circle must be active (green) for the A circle to have any effect.


Drop-Copy Patterning

Using the Transform tool with Pivots and Snapping allows you to easily create arbitrarily-complex patterns of 3D objects. However, it is very tedious to have to continually apply the Transform and/or make many duplicates. So, we have tried to simplify this workflow by adding a hotkey that "drops a copy" of the object you are transforming at its current location.

This hotkey is d. Every time you press this key, a new object will be added to the scene. In the example below, we rotate a sphere around a pivot, and drop copies at 45-degree increments. This takes only a few seconds, and does not require the use of a special tool. 


Other Resources

The Meshmixer 101 video series includes three tutorials that cover the Transform tool. The first demonstrates basic usage of the transform 3D widget:

The second demonstrates rotation and translation snapping, and world/local frames:

Finally the last video demonstrates use of the Transform properties panel: