> For the complete documentation index, see [llms.txt](https://nobraintools.gitbook.io/maya-groomers-tool/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nobraintools.gitbook.io/maya-groomers-tool/maya-tools/curve-tool-kit.md).

# Curve Tool Kit

<div align="left"><figure><img src="/files/qLkJ80DJEPqIPSfB4GCS" alt=""><figcaption></figcaption></figure></div>

## Overview

This is a tool kit consists of multiple small functions for Maya curves. We can dock the UI to the side for easy access.

<figure><img src="/files/t4ZJLgdvobD4ww2Po0rj" alt=""><figcaption></figcaption></figure>

### **Random Curve Select**

**​Set Selected Curves For Random Select**

* **​**Tag all selected Maya curves to be counted in the random selection.

**Random Select Slider**

* % for random curve selection.

<figure><img src="/files/DbXyvd7U4OV3oU9PbVc9" alt=""><figcaption></figcaption></figure>

### **Batch Curve Transform**

**Pivot to Root**

* **​**Set pivot to the root of all selected curve(s).

**Batch Mode On**

* ​Toggle selection mode to curves only. This will affect all curves in scene. If you do not want some curves to be affected, please put them in a display layer and hide it.
* After clicking on '**Batch Mode On**', Maya will only be able to select 'curves' in your scene.

**Batch Mode Off**

* ​Make sure to click on '**Batch Mode Off**' to set Maya selection back to normal.

{% hint style="warning" %}
Sometimes, curves with transform values (when it's too dramatic) can fall outside of the batch mode falloff area. If there are curves not being affected (gradient orange/red display), please freeze transforms.
{% endhint %}

<figure><img src="/files/LNTBZWO4fZqVadokCvoN" alt=""><figcaption></figcaption></figure>

### **Curve CV Selection**

* Select "**First**", "**Last**", "**Next**" or "**Previous**" CVs based on current selections.

<figure><img src="/files/91mQ69l8gGNkmtveCqHy" alt=""><figcaption></figcaption></figure>

* **Expand** / **Shrink** will operate on current selected CVs.

<figure><img src="/files/V87SyUTictk5gzDY2tVs" alt=""><figcaption></figcaption></figure>

### **Curve Rebuild**

**Rebuild**

* A simple curve rebuild. Default degree is set to 3. To build a curve with total of 8 CVs, put a span of 5.&#x20;

**Smooth**

* Smooths selected curves with the strength value.

**Average Curves**

* Scale the selected curves so they have equal length.

**Get Length**

* Get the 'average length' of selected curves.&#x20;

**Set**

* Scales the selected curves so they equal the defined length in the field box.

<figure><img src="/files/LITIsZgFsa4Sq2EmWJEc" alt=""><figcaption><p>Rebuild/Smooth/Average Curves</p></figcaption></figure>

<figure><img src="/files/NwUTh1wT0letdCAw7zBW" alt=""><figcaption><p>Get/Set Curves Length</p></figcaption></figure>

### **Functions**

**Mirror**

***Global***

* Mirroring will happen across the global axis.

<figure><img src="/files/kPkvawLp9i0LoyFGCQyO" alt=""><figcaption></figcaption></figure>

***Custom Mesh***

* Mirroring will happen across the bounding box axis of the set mesh.

<figure><img src="/files/aovFcDYDvIgCxChtfsgx" alt=""><figcaption></figcaption></figure>

**Lattice**&#x20;

* Maya's default Lattice function.

<figure><img src="/files/4ufdSpZZXlrRPqH5ma2j" alt=""><figcaption><p>Using Lattice On Curves and Baking it</p></figcaption></figure>

**Check Overlapping Curves**&#x20;

* From selected curves, check if curves are sitting within the threshold distance.&#x20;

<figure><img src="/files/yOD3h64JwTKYE90pyAVi" alt=""><figcaption><p>Check for Overlapping Curves</p></figcaption></figure>

**Length Check**

* Without selecting anything in scene, set a length, and click on Select. The tool will select all curves that are shorter than the defined length in scene. This can be useful to clean up curves that has almost 0 length in scene.
