> For the complete documentation index, see [llms.txt](https://doc.realvirtual.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.realvirtual.io/components-and-scripts/machining-tool.md).

# Machining Tool (Pro)

**MachiningTool** defines the shape and dimensions of a cutter that removes material from a **MachiningVolume**.

{% hint style="info" %}
This feature was added in realvirtual **6.3.5** (Professional)
{% endhint %}

## Overview

MachiningTool sits on the GameObject that represents your physical cutter - typically a mesh moved by a **Drive** at a spindle or robot end effector. Its geometry, not the visual mesh, defines exactly what gets subtracted from any MachiningVolume it touches, so the shape you configure here should match your real tool. Move the tool through a workpiece during Play mode to remove material in real time.

## Properties

### Tool Geometry

**Shape** (enum: Cylinder / BallNose / Torus / ConicalEnd) The cutter shape used for material removal:

* **Cylinder** - a flat-end mill, ideal for pocketing and facing.
* **BallNose** - a cylinder with a hemispherical tip, for smooth 3D contours.
* **Torus** - a bull-nose / corner-radius mill, using **Corner Radius** for the rounded edge.
* **ConicalEnd** - a tapered cutter for chamfering, using **Taper Angle**.

**Tool Diameter** (millimeters) The cutting diameter of the tool.

**Tool Length** (millimeters) The overall length of the cutting section of the tool.

**Corner Radius** (millimeters) The edge rounding radius, used by the **BallNose** and **Torus** shapes.

**Taper Angle** (degrees) The half-angle of the taper, used by the **ConicalEnd** shape - larger angles produce a wider chamfer cutter.

## Quick Start

1. Add the **MachiningTool** component to your cutter GameObject.
2. Choose the **Shape** that matches your real tool, and set **Tool Diameter** and **Tool Length**.
3. Add the object (or its Drive-driven parent) to a MachiningVolume's **Tools** list, or tag it with a matching **Tool Group**.
4. Move the tool through the workpiece with a **Drive** during Play mode to cut material.

## Common Use Cases

* **Matching a Real Cutter** - Configure Shape, Tool Diameter and Tool Length to mirror the physical tool used on the shop floor for an accurate virtual commissioning result.
* **Multi-Tool Machining Centers** - Combine several MachiningTool objects (mill, drill, chamfer cutter) referenced by the same MachiningVolume for a realistic multi-operation cycle.
* **Tool Changers** - Swap tools at runtime using **Tool Group** on the MachiningVolume, so newly spawned or exchanged tools are picked up automatically.

## See Also

* [Machining Volume](/components-and-scripts/machining-volume.md) - The workpiece stock that MachiningTool removes material from
* [Drive](/components-and-scripts/motion/drive.md) - Move the tool along the real machining path


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.realvirtual.io/components-and-scripts/machining-tool.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
