Give robots objects worth learning from
A mug that looks right can be a solid can to a physics engine. ForgeCAD's Agent writes the geometry, the colliders and the textures of an object as one editable Project, checks them, and exports them for robot simulation.
*Update, 21 October 2026: ForgeCAD assets are now in [SimReady Central](https://huggingface.co/spaces/nvidia/simready-central), NVIDIA's open library of simulation-ready assets on Hugging Face.*
Robots learn in simulation before they touch the real world.
What they learn depends on the objects they practise on.
Take a mug.
You can fill it, and you can put a finger through its handle.
Hand that mug to a physics engine with a default collision shape, and both openings are gone.
The engine sees one convex hull: a solid can with a lump on the side.

The picture is right. The physics is wrong. A robot that practises on the red mug learns something false.
Getting this right by hand, for every object and every variation of it, is why simulation teams never have enough good assets.
ForgeCAD gets it right with an AI agent.

## Describe it. The Agent builds it.
Open a Project and write what you need: "Make a mug a robot can pick up and fill."
Add drawings, photos, or a STEP or STL file when they matter.
The Agent writes a real CAD program.
It runs the model, reads the errors, renders views, measures the result, and corrects its own work.
What you get back is editable source with named parameters: a model you own and can change, where a generated mesh would be a dead end.

An object is ready for simulation when three things are right, and stay right when the object changes: its geometry, its colliders, and its textures.
The Agent writes all three.
## Colliders: where simulation assets fail
A simulator never touches the mesh you see. It touches the collider.
Most pipelines leave the collider to a default, and the default closes every opening: cups, bins, handles, slots, gripper fingers.
We spent a large part of this year on this problem. It is now part of the language.
- **Authored pieces.** A collider is a set of named pieces: exact boxes, cylinders and spheres, capsules for rims and handles, flat-sided patches for walls. The mug has a floor, 24 wall patches, and 12 capsules along its handle.
- **Clearances.** You name the spaces that must stay open, such as `cavity` and `fingerHole`. They belong to the model.
- **A check that fails loudly.** `forgecad check colliders` fails when a piece enters a clearance or two bodies overlap at rest. The editor's Colliders view shows the same result on the model, in green or red.
- **A probe in a real engine.** `forgecad sim probe` exports the model to MuJoCo and drops the largest ball that fits into each clearance.
The Agent does this work itself.
In one hosted run it authored a 34-piece collider for a teacup in 12.5 minutes. The check failed it 18 times on the way, and the Agent repaired the source each time until the cup stayed open.
The collider is computed from the same parameters as the solid, so it follows every change.

Make the mug larger, give it a belly, change the handle. The collider rebuilds with the geometry, and the check runs again.
You fix a collider once, in the source, for the whole family.
## Textures that stay in place when the shape changes
A robot's camera learns from surfaces, so an asset needs more than a flat colour.
A texture also has to survive the next parameter change. That is where painted assets usually break.
ForgeCAD's texture atlas solves it.
- **One layout for the whole object.** ForgeCAD builds the atlas from how the model is constructed: one clean region for each construction step, with no overlap.
- **Paint once.** An image model or an artist paints that layout, with the model's own guide images as reference.
- **Change the parameters.** Each surface point keeps its place in the image.
- **Finishes are choices.** A second painting becomes another choice on the same Project. The mug carries nineteen glazes on one shape.

One painting, five drums. Nobody repainted anything.
## One Project is a family
Physical AI needs variation with intent, not random objects.
A ForgeCAD Project states what may change and what must stay true.
A cup can change its height, its handle and its material. It must stay a cup.
The Params panel numbers every combination of the choices, so "Combination 1002" is the same object for everyone, every time. The mug family alone has 94,464 combinations.
Capture renders random combinations of a family in one background batch, and saves each image with its combination number and parameter values.
A perception team gets labelled images of every variant, with the source of each one.

Our own library holds 80 families and grows every week, each from one parametric source: mugs and dishwashers, drills and drawers, pallets and server racks.
## From the Project to your simulator
Every Project has an OpenUSD root stage.
Geometry stays executable source. Materials, textures, variants, joints and physics stay attached to named prims, and survive the next geometry change.
Export gives the receiving tool what it loads: OpenUSD with physics for NVIDIA Isaac Sim, MJCF for MuJoCo, URDF or SDF for robot toolchains.
Doors swing on hinges and drawers slide on rails, with limits, as articulations.
Servo-driven joints and closed linkages, such as an over-centre latch, export with their drives and run in MuJoCo as designed.
The film shows the same cabinet in MuJoCo and in NVIDIA Isaac Sim, and a Franka arm finishing tasks in MuJoCo with ForgeCAD assets: a plate into a dishwasher, a can into a bin, a test tube into a rack, a gaiwan lid set down.
For exact CAD, ForgeCAD runs on SMLib, NVIDIA's NURBS solid-modeling kernel.
NVIDIA has released it as open source, as [USD BRep](https://github.com/NVIDIA-Omniverse/usd-brep), under the Apache 2.0 license, and ForgeCAD builds on it.
Fillets, shells and booleans stay exact through edits and STEP exchange, on a kernel anyone can read.
## Checked with NVIDIA's SimReady tools
Every object you make in ForgeCAD exports as a SimReady package.
The Agent labels what the object is: its class, its materials, its author and its license.
The export measures the rest: mass, extents and rigid-body count. It also renders the thumbnail.
A Project runs that package against a named, pinned NVIDIA SimReady Foundation profile, such as `Robotics-Prop`.
When a rule fails, the Agent reads the finding and repairs the source, so the fix reaches every variant.
ForgeCAD saves the profile, the validator version, the package, and every rule outcome with the version that produced them.
Our SimReady packages are now in [SimReady Central](https://huggingface.co/spaces/nvidia/simready-central), NVIDIA's open library of more than 2,000 simulation-ready OpenUSD assets on Hugging Face.
NVIDIA [names ForgeCAD](https://nvidianews.nvidia.com/news/nvidia-advances-isaac-platform-for-general-purpose-robotics-with-new-reference-humanoid-frameworks-simulation-pipelines-and-data) as an asset partner, with Comau, FANUC, Franka Robotics, LG Electronics, Universal Robots and Vertiv.
In [NVIDIA's words](https://huggingface.co/blog/nvidia/simready-central-assets-robotics-ai-factories), the library makes ForgeCAD's "articulated robotics props with high-quality textures" available for perception, manipulation and synthetic data.
You can also download our packages from [ForgeCAD/simready-assets](https://huggingface.co/datasets/ForgeCAD/simready-assets).
A pass is evidence for one package and one profile. We keep it that precise on purpose.
## Also in ForgeCAD today
- **Specialists** for SimReady assets, parametric variants, image assets, and CAD reconstruction from STEP or mesh files.
- **A version map** that shows each result as geometry, so you compare shapes and merge the direction you choose.
- **Learnings**: methods your team saves once and later Agent runs can find and adapt.
- **A render and export API** that returns PNG, STL, 3MF, STEP, GLB or USD files for any parameter set of a saved version.
- **Structural analysis** on a saved version: stress, displacement and safety factor in an interactive result view.
- **Assembly steps**: `forgecad check assembly` finds parts that collide on their way in, and the Video Studio makes the assembly-instruction video from the same steps.
## What we are building
In July, NVIDIA wrote that "ForgeCAD and Moonlake AI are exploring agent-driven 3D content workflows".
In October, ForgeCAD assets went into SimReady Central.
This is what that looks like now: you describe an object, and you get its shape, its physics and its surface, checked, editable, and ready for a robot to practise on.
Give robots objects worth learning from.
Try the Agent at [forgecad.io](https://forgecad.io).