> For the complete documentation index, see [llms.txt](https://docs.opencutlist.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.opencutlist.org/features/smart-axes-tool.md).

# Smart Axes Tool

The Smart Axes Tool helps you orient the local axes of components.

{% hint style="info" %}
The Smart Axes Tool was introduced in version 5.0.0.
{% endhint %}

It is accessible from the axes icon in the toolbox or from the *OpenCutList → Orient* *Parts* menu.

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2FKMoBaieZKZlP36yF1328%2FSmart%20Axes%20Tool%20-%20Access.png?alt=media&amp;token=303347c2-aaec-42c8-956e-c81d819d3f91" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2FaE72fBo0FzGEKtCiql0O%2FCapture%20d%E2%80%99e%CC%81cran%202023-05-05%20a%CC%80%2017.21.12.png?alt=media&amp;token=c17fd353-4d91-436b-98bd-14ad83ffec3c" alt=""><figcaption></figcaption></figure>

**OpenCutList** computes the **dimensions** of a part along the **local axes** of the underlying component. They are defined as the lengths of the (blue) bounding box of the part. For a good computation of the dimensions, the bounding box of a part should therefore preferably closely surround it.

The dimensions of a part do not depend on the position of the local axes (the axes can be translated), but do depend on their spatial orientation.

The default set of local axes is [right-handed](https://en.wikipedia.org/wiki/Right-hand_rule). When the set of axes is placed on a vertex of the bounding box, the blue axis shows the direction of the thickness of a part. It does not matter whether the blue axis points in or out of the part, but the face which is the **most positive** along the blue axis will be considered the **front face** of the part, and the opposite face the **back face**.

{% hint style="warning" %}
Some of these assumptions are deliberate choices. We could have made other choices, but these seemed to be the most convenient to understand.
{% endhint %}

If you flip the local axes in such a way that the most positive face is the opposite face, then you have told **OpenCutList** that the other side is now the front face. Remember, changing the local axes does not affect the definition of the part, but only its reading by **OpenCutList**.

## Actions

The Smart Axes Tool supports several actions (Flip, Swap Length ↔ Width, Swap Frontside ↔ Backside, Adapt Axes, Move Origin, Configure Grain continuity). Each action can have several modifiers. All possible actions are visible at the top of the screen.

{% hint style="info" %}
If the **Automatic orientation of parts** option of the parts list is enabled, a part reoriented by the Swap, Adapt Axes or Move Origin actions gets its orientation **locked on its axes**, so that OpenCutList keeps the orientation you just set.
{% endhint %}

### Flip

The **Flip action** is more convenient than the SketchUp tool, because it automatically detects parts under the mouse pointer and lets you decide along which direction (as seen by OpenCutList) a part must be flipped. This can be `L` for length, `W` for width or `T` for thickness. Also, you do not have to select the part to flip it.

Unlike the other actions, Flip also works on hardware parts.

{% hint style="warning" %}
Flipping only affects the selected instance.
{% endhint %}

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2FSVzTL0qYmlroVH51qYAB%2FSmart%20Axes%20Tool%20-%20Flip.gif?alt=media&amp;token=3b76cf72-d1e2-4849-af39-5eac9ab3e34a" alt=""><figcaption><p>Flip</p></figcaption></figure>

### Swap Length ↔ Width

This tool orients the local axes in such a way that length and width (the red and green axes, respectively), as seen by OpenCutList, are swapped.

{% hint style="warning" %}
Swapping length and width affects all instances. It operates on the component definition.
{% endhint %}

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2Fp1qK1vd5lqYFNyNdZXDm%2FSmart%20Axes%20Tool%20-%20Swap%20Length%20Width.gif?alt=media&amp;token=9d3ac8d2-d413-4024-b59d-392e4be0e5ed" alt=""><figcaption><p>Swap Length - Width</p></figcaption></figure>

### Swap Frontside ↔ Backside

This tool orients the local axes in such a way that the thickness (on the blue axis) is swapped. This reverses the blue axis, and (because the set of axes must remain right-handed) also the green axis. By convention, the front face is the face with the most positive coordinate on the blue axis.

{% hint style="warning" %}
Swapping Frontside - Backside affects all instances.
{% endhint %}

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2FkudMwtPoEQFzi9wf3CMF%2FSmart%20Axes%20Tool%20-%20Swap%20Front%20Backside.gif?alt=media&amp;token=37e730cf-74b7-4a3c-9811-e8eae0a514ac" alt=""><figcaption><p>Swap Front - Backside</p></figcaption></figure>

### Adapt Axes

For an even finer control, this tool lets you pick the front of a part. It will then adapt the axes to match length and width. The thickness is automatically the last direction. When moving the mouse over a part, a white arrow shows the current front and the direction of the length.

The arrow shows the direction of the old and new red (length) axis.\
Hover a face and an edge displays the future setting, click to confirm.\
*↳ Hold `CTRL` (on Windows) or `OPTION` (on Mac) to reverse the direction of the length*

{% hint style="warning" %}
Adapt Axes affects all instances.
{% endhint %}

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2Fmvv34Uhqk31Z0I8OnLAd%2FSmart%20Paint%20Tool%20-%20Adapt%20Axes%20Animation.gif?alt=media&amp;token=455bea62-83bb-46bf-98fd-f5b3e351a39b" alt=""><figcaption><p>Adapt Axes Tool</p></figcaption></figure>

The modified part is automatically the one under the mouse pointer.\
To align the axes to an element outside the part, simply hover over it, press the `SHIFT` key, and point to any segment, axis, or guide in the model that would be parallel to the targeted face when you started pressing `SHIFT`.

### Move Origin

This action allows you to move the part component axes origin.

{% hint style="warning" %}
Move Origin affects all instances.
{% endhint %}

<figure><img src="https://2764382921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUSHuV5bThAGZxy7OHb-1972196547%2Fuploads%2F7QekCsAXfMDWnoVfFUWi%2FEnregistrement%20de%20l%E2%80%99e%CC%81cran%202025-05-29%20a%CC%80%2017.50.58-GIF%20720x720%2015%20ips.gif?alt=media&amp;token=737365d6-f1ad-4587-bdba-6b6572405a94" alt="" width="360"><figcaption><p>Move Origin</p></figcaption></figure>

The modified part is automatically the one under the mouse pointer.\
To place the origin outside the part, simply hover over it, press the `SHIFT` key, and click on any point in the model.

### Configure Grain continuity

This action allows you to configure the **grain continuity** of sheet good parts: parts laid out next to each other in the model (a row of drawer fronts, for example) can be placed side by side in the cutting diagrams so that the grain runs continuously from one part to the other.

Grain continuity relies on two settings:

* **Grain continuity** on a part: its instances may be laid out in grain continuity with their neighbours
* **Grain continuity group** on a group or component instance: the container gathering the parts that are laid out together

Two parts are laid out in grain continuity when they both have grain continuity enabled and share the same grain continuity group, the same plane, the same orientation, the same grained material and the same thickness.

Using this tool is performed in 1 step :

1. Click on a part to enable or disable its grain continuity\
   *↳ Hovering a part shows the grain continuity group it belongs to (purple box) and its name*\
   *↳ Hold `CTRL` (on Windows) or `OPTION` (on Mac) to list the groups and components containing the part, then click on an item to define it (or not) as a grain continuity group*

{% hint style="info" %}
Only parts of type **Sheet Good** with a grained material, that don't ignore the grain direction and that are made of a single thickness layer, can be configured.
{% endhint %}

{% hint style="warning" %}
Grain continuity affects all instances. It operates on the component definition. The grain continuity group is set on the selected instance only.
{% endhint %}

### Shortcuts

* Use `TAB` or `SHIFT` + `TAB` to navigate forward or backward through actions, respectively.
* Use `CTRL` + `TAB` (on Windows) or `OPTION` + `TAB` (on Mac) to navigate through the action's modifier.
* With the **Transparency** enabled, use `↑` or `↓` to target the parts located behind the hovered one.
