A model per stage
Each clear tray moves the teeth a small step, and each step needs its own arch model.
After diagnosis, dentists still turn the plan into per-stage 3D models by hand. A treatment longer than a year needs dozens of them.
Each clear tray moves the teeth a small step, and each step needs its own arch model.
Longer treatment means more stages, and more CAD work.
A revised plan sends you back into the existing design.
From the field
Site visits and consultations with a board-certified specialist in integrated dentistry confirmed this repetitive CAD burden.
Each step shows who acts. The agent proposes, and every call that matters stays with you.
You set the prescription in plain words.
You decideThe agent drafts every stage, and geometry tools flag movement, collision and space problems.
Agent proposesYou ask for changes. Conditions you already gave carry over.
You decideYou approve a plan that passes the rules. Print files come after that.
You decideNo extraction, keep the canines fixed.
Got it. I set the target arrangement and drafted every stage with the canines held in place.
Two teeth collide in the middle stages, marked in red. Allowing IPR would make room while the canines stay fixed.
Allow IPR. Keep everything else.
New plan. Kept No extraction Canines fixed Added IPR
It passes the rule check. Review it and approve when you're ready.
A scripted replay. The 3D views are rendered from plans cuAlign computed for two public sample scans. The conversation was written for this page.
Drag through a real 18-stage plan. Red marks a collision the rule check found.
Diagnosis, prescription and the final choice stay with the dentist.
Every plan is a proposal until you approve it.
The agent never loosens them to pass a rule.
Plans with violations can't be approved or exported.
Patient registration rejects identifying details. Chat messages with ID or phone numbers are refused.
Everything below is in the public repository and can be re-run.
Sample cases are real upper-arch scans from the open Poseidon3D dataset (CC BY 4.0).
Plans are checked for space shortage, collisions, movement per aligner and stage count. A benchmark runs those checks on five synthetic presets.
They cover revisions, plans that honestly fail, unsupported requests, and diagnosis questions the agent hands back to the dentist.
A dentist judged space and approach for 12 sample scans by eye. We treat it as a qualitative reference and report no score.
The automated tests (uv run pytest) and a rule-based plan (cualign plan) run offline. The verification record in the source repository lists what passed and what hasn't been checked. Clinical validity is not evaluated.
Input
One STL per tooth, numbered in the Universal system, plus an optional gum scan.
Output
Per-tooth STL for every stage and, with a gum scan, a printable arch model per stage.
Not yet tested with specific intraoral scanners, CAD software or 3D printers. Automatic segmentation of one-piece scans is not supported.
Understands your prescription and chooses the tools.
Runs the planning agent and its geometry checks.
Checks the agent's input and output on each call.
The planner reads a clinical-rules skill before it plans.
Sandboxing with OpenShell and MCP access through NemoClaw are experiments.
The cuAlign team, building for the NVIDIA Hackathon 2026.
Consultations with a board-certified specialist in integrated dentistry, and a dentist who reviewed the sample scans and wrote their prescriptions.
No. It is a research prototype and must not be used for diagnosis or treatment decisions.
Lower arches, rotation of canines and back teeth, torque, occlusion, and one-piece scans that are not segmented per tooth.
On the hosted prototype, scans and plans are stored on that server, behind access credentials. Run it locally and they stay on your machine. The agent conversation goes through the NVIDIA API either way, and there is no per-user isolation, so don't upload identifiable patient data.
Nothing. cuAlign is a research prototype and isn't sold.
Use is covered by the End User License Agreement: research and demonstration only, no warranty. Sample scans are CC BY 4.0, and third-party components keep their own terms.
Nothing, if you use the hosted prototype. We share its access details on request. To run it yourself you need Python 3.12 and uv. Plans compute without a key, and the conversation needs an NVIDIA API key. The Quickstart walks through it. The current prototype interface is in Korean.
We share access to the hosted prototype on request. The docs cover running it yourself.