How to use it, and how to check it.
Enough to get a painted model into your slicer, the matrix that says which slicers that sentence is currently true of, and the index of every number on this site.
A painted export is only worth something if the slicer honours it.
So this is measured as paint arriving in G-code as tool changes in the right order, rather than as a file that opens. Order rather than count, because a file whose paint was dropped can still produce a plausible count. Right now that is true of all three target slicers, each checked by slicing with its own command-line tool, and the register below says which version of each.
Every number here comes from one list.
Each one is held exactly as its run recorded it, and the index further down is generated from the same list. Nothing else in the rendered page is allowed to be a digit, so a number typed straight into a page fails this site’s build.
Quickstart
- Install it and open it.
Nothing to sign up for, and nothing is uploaded. Tilas is a desktop application — Windows, macOS and Linux — and the browser version needs no install for everything except the exact colour separation. Both start on the free plan; a Pro licence key goes into the desktop app.
no account
- Drop a model on the window.
STL, OBJ, PLY, 3MF, GLB or glTF, including a painted 3MF whose colours survive the round trip. A GLB or glTF texture, or vertex colours in a glTF, OBJ or PLY, become paint, reduced to the number of colours you choose. Read the report it gives you: what arrived, and what repair changed. A file that arrives clean passes through untouched, so you can tell a good download from a bad one; the Repair tool has the same fixes as separate actions, each one undoable.
- Paint it.
Segment the model at its creases, assign filaments to the regions in one action, then brush the parts the geometry got wrong. Auto-assign grows each colour as a compact blob, because a cut follows a colour boundary and a short boundary is a better seam.
sixteen filament slots
- Split it, or separate it.
Cut it to fit your plate, or separate it by colour if you print one filament at a time — two colours are cut on your paint, and anything else is divided on a grid, which the panel says. Where a key will not fit the cut face, the cut is still made and the halves come back without keys, with the reason. On the free plan Separate is a preview; exporting the separated parts is Pro.
- Export, and save beside it.
Export a painted 3MF in your slicer’s dialect — up to four filaments on one plate on the free plan, up to sixteen and every plate with Pro — then save the project: one file carrying the model, the paint, the parts and the history, written to a temporary file beside the target and renamed over it only after being read back.
The full version, with what goes wrong at each step, is the workflow page.
Which slicers honour the paint.
All three. This register is the product’s own claim about other people’s software, so it says what was run and on what — not that it works.
The checks are scripted and run on this project’s own machine, against the versions named below. The build-server job pins OrcaSlicer and Bambu Studio to those versions and installs whatever PrusaSlicer Flathub currently ships as stable; it is new and has never run, so none of this is a result a stranger’s CI reproduced.
PrusaSlicer 2.9.6
Its command-line tool slices the export, and the paint arrives in G-code as tool changes in the right order — painted, rotated, separated, hollowed, across several plates and with every filament slot used.
Paint verifiedOrcaSlicer V2.4.2
The same, for the second dialect, with its own command-line tool and its own printer profiles: painted, separated, across several plates and with every filament slot used, each read back from the G-code it writes.
Paint verifiedBambu Studio V02.08.02.61
The same checks as OrcaSlicer, on the same dialect, with Bambu Studio’s own command-line tool. The paint arrives in G-code in the right order.
Paint verifiedThe claim index · every number on this site
A number typed by hand cannot reach a page.
That is a deliberate response to a habit worth avoiding: a figure that was true when somebody typed it and has not been true since. It has happened here — an import figure went on being published for a fortnight after the code it described doubled in cost — which is why the benchmark run now re-audits the pages it has just rewritten.
Every row below is generated from one list, so the index cannot fall behind it. A rerun that moves a published number turns this site red instead of ageing quietly.
What has been measured.
Each of these was written by a benchmark or a corpus run, and no hand ever typed one into a page. The numerals are right-aligned because what they hang off is the rail.
4.03 ms
One brush stamp on a five-million-triangle model, CPU side.
1009 ms
Read, weld, inspect and repair a million-triangle model — the whole pipeline.
5.6 s
A plane cut through a three-million-triangle model.
8.5 s
Writing a painted 3MF from a five-million-triangle model with every slot used.
507 MB
The project size the save below was measured on.
1.3 s
Writing that project to a file.
0.06 ms
Undoing a step on a five-million-triangle document, renderer update included.
3.9 GB
Peak memory while importing a twenty-million-triangle model.
124
Real models from two public corpora, run through the pipeline on every change.
103
How many of them import.
21
How many are refused — point clouds, empty exports, one corrupt file. Each says why.
48
Corpus models auto-paint gives two colours — the denominator for the separator’s reach.
19
Of those, how many separate exactly on the paint and were then confirmed by an independent boolean library to come apart into two parts that do not overlap.
958
Triangles in the model the hero figure is drawn from.
And the ones that are words.
A constant in the product’s own source, or a session somebody sat through.
A version sentence with no digit in it is how a false statement about a release shipped past a green audit once already. These exist so there is a digit for the scan to hold.
sixteen
Filament slots, which is what the target slicers consume.
Product source
PrusaSlicer 2.9.6
The slicer that opened a painted export with the paint reaching G-code.
Verified session
OrcaSlicer V2.4.2
The second slicer to put our paint into G-code in the right tool-change order.
Verified session
Bambu Studio V02.08.02.61
The third slicer to put our paint into G-code, through its command-line tool.
Verified session
four
Filaments a free-plan export may use, on one plate.
Product source
ninety days
How long after a Pro licence runs out the licence server will still renew it.
Product source
1 November 2026
The day the prices are announced and Pro can first be bought.
Product source
$39
Tilas Pro at launch, one-time, until the founder price ends.
Product source
31 December 2026
The last day Tilas Pro sells at the founder price.
Product source
$59
Tilas Pro after the founder price ends, one-time.
Product source
$19
Another year of updates for a Pro licence, if you want them.
Product source
$119
Tilas Commercial, one-time: Pro plus the right to sell prints made with it.
Product source
v0.2.0
The version this site describes, read from the manifest a release tag is cut against.
Product source
Not everything here is as well held as the digits.
Benchmarks were taken on a mid-range desktop, CPU side. Frame rate while orbiting and cold start are missing from the index because nobody has measured them on hardware worth trusting — absent rather than passing, which is the only honest state for a number nobody took.
The drawing on the home page is a real corpus model, auto-painted and cut by the same native separator the product ships, pinned to that model’s checksum. Nothing checks it still matches today’s code the way a measured claim is checked, so it is a weaker guarantee than any number on this page and worth reading as one.