Tool library file
Your tool library (tools.json in the settings folder) and the files tool export writes. Lengths in mm, angles in radians, feeds in mm/min.
Schema version 3. Older files load through Chipload’s migrations; this schema describes only the current version.
The file
| Field | Type | Required | Meaning |
|---|---|---|---|
default_tool | string or null | no | The name of the tool new projects start with. Null: the built-in 6 mm endmill. |
schema_version | 3 | yes | The version of the file format. Chipload upgrades older files when it reads them, and refuses newer ones. |
tools | list of LibraryTool | yes | The tools. |
written_by | string or null | no | The Chipload version that wrote the file. |
Cutting
Values filled into an operation when it is created with this tool. Never applied to an existing operation.
| Field | Type | Required | Meaning |
|---|---|---|---|
feed | number | yes | Cutting feed, mm/min. |
plunge_feed | number | yes | Plunge feed, mm/min. |
step_down | number | yes | Step down, mm. |
stepover | number | yes | Pocket stepover, a fraction of the tool diameter: more than 0, at most 1. |
LibraryTool
One tool of the library: a project tool with a name and optional cutting values.
| Field | Type | Required | Meaning |
|---|---|---|---|
angle | number or null | no | V-bits: the included angle, radians. Null: unknown. |
center_cutting | boolean or null | no | Whether it can plunge straight down. Null: unknown. |
cutting | Cutting or null | no | Feeds, step down and stepover a new operation with this tool starts with. Never changes an existing operation. Null: none. |
diameter | number | yes | Diameter, mm. |
flutes | integer or null | no | Number of flutes. Null: unknown. |
id | integer | yes | The tool number it gets in a project, when that number is free there. |
name | string | yes | The tool’s name, unique in the library (upper or lower case don’t matter). |
rpm | number or null | no | Spindle speed, rpm. Null: unknown. |
tip_diameter | number or null | no | V-bits: the flat tip’s diameter, mm. Null: pointed. |
type | ToolType | no | endmill, drill or vbit. |
uid | string | yes | What projects link the tool by: 16 lowercase hex digits, unique in the library, never changed (docs/specs/library-in-browser.md §2). |
ToolType
One of: "endmill", "drill", "vbit".