Around the cut
The production tools that surround the toolpath — lay parts out on stock, size an imported model, manage your tooling, and post clean, machine-ready G-code.
Nesting
Cutting more than one part from a sheet? Nesting lays out multiple copies on a single piece of stock, so you run a full plate in one setup instead of one part at a time. Build the layout as a grid — rows × columns at a spacing Takshak derives from the part — or place each copy by hand with its own offset and rotation. The master shows solid in the viewport; every copy renders as a live ghost you can drag, rotate on a snap-ring, and multi-select.
As you arrange them, the layout is checked in real time: copies that overlap, or that run past the edge of your plate, are flagged before you cut. At export, each operation is multiplied across every placement and the tool-changes are shared — a five-up plate still changes to each tool once, not once per part. Nesting is a 3-axis feature; rotary and indexed operations run once.
- Grid auto-array — rows × columns at derived spacing, or a manual placement table.
- Per-copy rotation — offset and Z-rotation on each instance for tighter packing.
- Live checks — part-to-part overlap and plate-edge violations flagged as you move.
- Viewport editing — drag, a rotate-ring with snap, and multi-select of copies.
- Multiple parts — different parts laid out together on one plate.
- Shared tool-changes — G-code multiplied per copy, one change per tool.
Rescaling
Imported a model that came in at the wrong size? Rescaling applies a single scale factor to the whole part. It's the fix for STL files that carry no units — often authored in centimeters and read as millimeters, arriving ten times too small. Takshak spots the likely mismatch on import and offers to correct it, and you can rescale by hand any time, with presets for the common conversions and a live readout of the resulting size.
Scaling is uniform — the same factor on X, Y and Z. Because it changes the geometry, recognized features and operations are cleared and re-run on the resized part, so nothing carries stale dimensions.
- Uniform scale factor — one multiplier applied to X, Y and Z together.
- Auto-detect on import — unit-less STL checked for a cm→mm / inch→mm mismatch.
- Manual rescale — presets (½×, 2×, 10×, 25.4×) with a live dimension preview.
- Clean re-run — recognition and operations rebuild on the resized geometry.
Tool library
Your tooling lives in one reusable library. Each tool carries its cutting geometry — end mill, ball, bull-nose, tapered ball, drill, chamfer, thread mill and more — with diameter, flute count, and default speeds and feeds. Assign a tool to an operation and Takshak drives the toolpath from it; edit the tool later and every operation that references it updates. The library persists between projects and ships seeded with a starter set of carbide end mills and thread mills, so you can cut on day one.
Tools also hold the controller-side offset registers — cutter comp (D#) and length comp (H#) — that carry through into the posted G-code. The numbers a tool carries are its defaults; the material library below adjusts them for what you are actually cutting.
- Ten tool types — end mill, ball, bull-nose, tapered ball, corner-round, drill, chamfer, engraver, face mill, thread mill.
- Full tool data — diameter, flutes, and default spindle, feed, plunge, stepdown / stepover.
- Comp registers — cutter (D#) and length (H#) offsets emitted in the post.
- Live propagation — edit a tool and every op that uses it updates.
- Persistent + seeded — carries across projects; ships with a starter tool set.
- Shape preview — a live tool diagram as you edit.
Material library
A tool's speeds and feeds are only half the answer — the other half is what you are cutting. Set the stock material once in Setup, and every operation you create starts from numbers that suit it. The same tool cuts aluminium and steel at the right numbers, without you rewriting the tool.
Each material carries surface speed for carbide and HSS separately, and chip load as a curve rather than a single number, so a 2 mm cutter and a 12 mm cutter are not asked to take the same bite. Alongside those sit the factors that separate one kind of cut from another — finishing, drilling, plunging, and how deep and how wide to step.
You are never left doing the arithmetic to find out what that means. Each material shows a worked example as you edit it — pick a cutter and it reads back the actual rpm, feed, plunge and chip load you would get, so a change to a number is something you can judge on the spot.
Precedence is deliberate and runs one way: material × tool → tool defaults → operation default. A material only ever supplies a starting value, and a field you have touched is never overwritten. Eight materials ship ready to cut — aluminium through stainless, alloy steel and cast iron to acetal — and the library is yours from there: add your own, record where the numbers came from, and keep what your shop has actually proven. The built-in set restores in one click if you want it back.
- Carbide and HSS — separate surface speeds, so the tool material is part of the answer.
- Chip load by diameter — a curve across cutter sizes, not one number for every tool.
- Per-cut factors — finishing, drilling, plunge, stepdown and stepover each scale on their own.
- A worked example — the rpm, feed and plunge a real cutter would get, live as you edit.
- Never overrides you — supplies a starting value; a field you edited stays edited.
- Yours to extend — eight materials seeded; add your own, note the source, restore the originals anytime.
Post-processor
When the toolpaths are ready, Takshak posts them to machine-ready G-code — in your control's own dialect. Eighteen posts ship built in, from LinuxCNC and GRBL through Fanuc, Haas and Mazak to the bespoke Siemens 840D and Heidenhain Klartext emitters. Pick which operations to include, set the machine defaults — work offset, safe-Z, spindle and coolant — and switch on cutter or length compensation with the safety codes handled for you.
Posts pair with a machine library. Each machine on your floor holds its control's dialect alongside its physical facts — rotary axis letter and sign, spindle and feed limits, safe and retract heights, tool changer, and which control options it actually has. Pick the machine and the right post follows, with the features your control doesn't have kept out of the file.
The post-processor utility lets you edit any built-in post or author a new one from scratch — and a larger downloadable post library will be hosted here on the site.
Anything a post doesn't cover, you can inject yourself: the custom header and footer pass real G-code lines through verbatim and wrap plain text as comments.
- Eighteen built-in posts — ISO controls, two bespoke emitters, and the hobby subset.
- Machine library — your machines, each with its dialect, kinematics, limits and options.
- Post-processor utility — edit a built-in post, or author a new one.
- Operation picker — choose exactly which ops go into the file.
- Machine flags — work offset, safe-Z, spindle direction, coolant / air-blast.
- Compensation — cutter (G41/G42) and length (G43) comp, auto-cancelled before retract.
- Clean motion — native arcs, drill cycles and modal output, per dialect.
- 4-axis aware — A-axis with inverse-time feed, plus indexed poses.
- Custom header / footer — G/M/S/T/F/O/( lines verbatim, plain text as comments.
Built in today
- LinuxCNC
- Fanuc — Generic
- GRBL
- Haas
- Mazak
- Doosan
- Brother Speedio
- Mitsubishi
- Fadal
- Mach3 / Mach4
- Masso
- Centroid
- Siemens 840D
- Heidenhain TNC
- Okuma OSP
- Fagor
- Hurco
- Tormach
Project files
A whole job saves to a single .tks file — the parts and their
geometry, orientation and stock, every operation and its parameters, tool
assignments, and the libraries the job leaned on. The geometry travels
inside the file, so a project that opens on your machine opens on
the one next to it, with no hunt for the original STEP.
Multi-part jobs save whole. Reopen one and the setup and the operation list come back as you left them, down to which part was active; the window title names the job and the part, because a wrong-file restore with no visible tell is its own kind of expensive.
What the file does not carry is the computed toolpaths — deliberately. A single finishing pass can run to hundreds of megabytes of points, and it is only ever a function of the operation that produced it. So operations reopen ready to preview rather than pre-drawn, and the project file stays a small thing you can email.
Autosave is a crash net, not a save, and the distinction is enforced rather than described. The snapshot is written somewhere private and never touches your file — autosaving over a good save with no undo is the failure mode it exists to avoid, and it does nothing at all for a job never saved, which is the one with the most to lose. The snapshot is cleared on a successful save and on a clean exit, so one still sitting there at startup is the signal that something went wrong, and you are offered it back.
- One file — parts, stock, operations, tools and libraries in a single
.tks. - Geometry travels inside — no re-linking the original CAD on another machine.
- Multi-part jobs — the whole session saves and restores, active part included.
- Small files — toolpaths recompute rather than bloat the file; a job stays emailable.
- Crash recovery — a private periodic snapshot, offered back on the next launch.
- Never writes over you — the snapshot is separate from your file, always.
On the roadmap
Planned, and not in the current build yet — named here so you know where Takshak is headed, not to imply it ships today.
Downloadable post library
- A growing catalogue of posts hosted here, beyond the eighteen that ship in the app.
- Import one for your control, or share a post you've tuned for your own machine.
Inch & incremental output
- Programs posted in inch units, and incremental (G91) positioning.
- You can already work in inch — a click switches every readout and input, and the model itself stays metric underneath. It is the posted program that is still metric absolute.
- Stamping the mode word is the easy half — the coordinates and feeds have to convert with it, so the option stays shut until they do.