Deterministic simulation assets
from raw geometry.
Computed mass properties.
Stable collision.
Validated interaction.
Export to MuJoCo, Isaac Lab, and Omniverse.
Robotics teams burn thousands of hours making assets a robot can actually touch
CAD files, scans, and generated meshes are built to be looked at, not simulated. Before a single grasp, an engineer has to fix mass, rebuild collision, and hand-tune contact for every object. It does not scale, and it breaks the moment you need ten thousand scenes.
A pretty mesh with no real mass, no stable collision, and no proof it survives contact. Weeks of manual cleanup per asset library.
Real physics, stable contact, validated against a robot, exported to your simulator. Minutes, not weeks, and identical on every run.
Wrong mass
A lantern imports at 200 kg. A hollow mug reads as solid clay. Policies never converge and torque limits blow up.
Broken collision
Raw non-convex meshes explode on first contact. Objects penetrate the table or jitter at rest, killing entire training runs.
No interaction proof
A mesh that loads in a viewer is not an asset a robot can grasp. You only find out after the policy fails in sim.
Not reproducible
Each export drifts. The same file gives a different scene tomorrow, so benchmarks and bug reports become impossible to trust.
One file in. One robot-ready asset out.
Every asset runs through the same five steps, in the same order, on every machine. No hand-tuning, no per-object scripts, no drift between runs.
Ingest any geometry
GLB, OBJ, STL, STEP, USD, and FBX all normalize into one clean representation. Units are resolved automatically. A STEP file in millimeters never silently imports as meters.
Every asset is proven against a robot before it ships
A mesh that opens in a viewer is not an asset a robot can grasp. EnviScale runs each compiled asset through in-simulation manipulation: grasp, lift, contact, and collision checks with a Franka arm. Failures surface here, not in your training run.
A full cup behaves like a full cup
EnviScale reconstructs the hollow interior of containers, so fill state shifts the center of mass and contact response the way it does in the real world, not a bounding-box guess that treats every object as a solid block.
Lightweight rigid body. Gentle rim-to-base rocking, settles within 1.2 s.
One compile. Every simulator.
Bring whatever your CAD team, scanner, or generator produces. EnviScale hands back a scene your simulator already understands: MJCF, URDF, and USD Physics from a single source asset, with the same inertial frame and contact parameters across all three.
Whole scenes, not just single objects
Pick a workflow, drop in your objects, fix a seed. EnviScale places every object on a stable resting pose and assembles a complete multi-object scene, ready for pick-and-place, shelf grasping, and bin picking, reproducibly on every run.
Built for teams training manipulation at scale
EnviScale is the asset layer between your geometry and your simulator: the piece MuJoCo and Isaac never shipped as a product. Teams reach for it when hand-tuned scenes stop scaling.
Stable assets for policy training
Contact-safe assets with real mass and inertia, ready for the solver. Fewer episodes lost to penetration, NaN tensors, or objects that weigh 200 kg because a model guessed wrong.
One compile, every simulator
One source asset exports to MJCF, URDF, and USD Physics with no hand-editing. Same physics and contact behaviour across every backend you transfer to.
Domain randomization with real ranges
Randomization ranges come from real, geometry-grounded physics, not open-ended prompts. Defensible variation instead of objects that span zero to 200 kg.
Benchmarks you can re-run
Identical assets on every run. Re-compile a year later and get the same bytes, so your benchmarks, audits, and regression tests actually hold.
Compile from your pipeline
One API call returns a ready-to-run scene with MJCF, collision meshes, and a full physics report. Try it in the dashboard, or wire it straight into your training pipeline.
curl -X POST https://api.enviscale.com/api/v1/scene \
-H "X-API-Key: $ENVISCALE_API_KEY" \
-F "file=@gearbox_housing.step" \
-F "scene_name=gearbox_housing" \
-F "export_format=mjcf" \
-F "surface_condition=all" \
-F "fill_state=all" \
-F "collision_quality=balanced" \
-F "input_units=auto" \
--output gearbox.zip -D headers.txt- +clean + empty profiles only
- +no API key
- +3-object rooms
- +all profiles
- +API keys
- +all 4 templates
- +all profiles
- +API keys
- +priority queue
Upload a mesh or CAD file in the dashboard, or call the API from your training pipeline.