raygeo.cnc.tool

Side profiles of the three common cutting-tool categories, built as ToolModel parameter bags. CNC tool model.
Provides ToolModel (a parametric geometry parameter bag), the ToolCategory enum (type-safe tool classification for compatibility checks), the ToolMaterial enum, and the Tool composite. All types are implemented in Rust and consumed by the CNC layer's signatures.
Tool
A physical cutting tool.
Combines a parametric ToolModel (measurements), a ToolCategory (type-safe classification), a ToolMaterial, and setup parameters:
tool = Tool(
label="6mm EM",
category=ToolCategory.END_MILL,
model=ToolModel(diameter=6.0, ...),
material=ToolMaterial.CARBIDE,
stickout=15.0,
)
category
category: ToolCategory
coating
coating: Optional[str]
label
label: str
material
material: ToolMaterial
model
model: ToolModel
The tool's parametric geometry model.
stickout
stickout: float
default_stickout()
default_stickout() -> float
Default stickout = cutting edge height + 3 mm safety.
| Parameter | Type | Description |
|---|---|---|
| Returns | float |