Simulation Asset Compiler

Deterministic simulation assets from raw geometry.

Computed mass properties.

Stable collision.

Validated interaction.

Export to MuJoCo, Isaac Lab, and Omniverse.

Any geometry in
GLB · OBJ · STL
STEP · USD · FBX
Every simulator out
MuJoCo · Isaac
Omniverse · ROS
Robot-validated
Grasp · lift · contact
Franka in-loop tests
Reproducible
Bit-for-bit
same input → same asset
gearbox_housing.step
Ingest
inputgearbox_housing.step
detectedmetal · CAD assembly
unitsmillimeters → meters
watertighttrue
The problem

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.

Raw geometry
Looks right. Simulates wrong.

A pretty mesh with no real mass, no stable collision, and no proof it survives contact. Weeks of manual cleanup per asset library.

EnviScale asset
Loads, grasps, and trains on day one.

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.

How it works

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.

Raw geometry → simulation asset
Compilation flowraw mesh → simulator-ready
Step 01GLB · OBJ · STL · STEP · USD · FBX

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.

Validated for robotic interaction

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.

01Upload mesh
02Physics
03Collision
04Franka validation
05Sim-ready asset
Validation pipelineManipulation
GraspGripper closure under load without slip
LiftObject held through 20 cm vertical travel
ContactNo penetration against fingers or support surface
SettleReleased body reaches rest without drift
Failed stages block export.
Physics that matches reality

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.

Test objects
coffee cupempty
capacity
284 ml
mass
0.44 kg
collision
convex decomposition
center of mass
[ 0.00, 0.00, 0.042 ]
Fill state moves the CoM and changes how the object tips and settles.
contact behaviour

Lightweight rigid body. Gentle rim-to-base rocking, settles within 1.2 s.

Compiled outputs

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.

Geometry in
GLB / glTFmesh
OBJmesh
STLmesh
PLYmesh
STEPCAD
USDscene
FBXDCC
.zip bundlemulti-asset
Simulator-ready outone source asset →
MJCF
.xml
MuJoCo
Native MuJoCo model with a correct inertial frame, separated collision groups, and stable contact parameters out of the box.
URDF
.urdf
Isaac Lab · ROS · PyBullet
ROS-compatible URDF with clamped joint limits and relative mesh paths that drop straight into ROS 1 / ROS 2 workspaces.
USD Physics
.usda
Omniverse · Isaac Sim
USD Physics layered on the visual hierarchy. Mass, inertia, collision, and material binding all preserved.
Real robotics workflows

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.

Desktop pick & place
surface
1.2 × 0.8 m
height
0.75 m
objects
up to 8
Scene workflows
Use cases

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.

RL trainingRL engineers · manipulation researchers

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.

Sim-to-realMuJoCo · Isaac Lab · Omniverse teams

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.

Synthetic dataPerception · data flywheels

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.

EvaluationFoundation-model eval · safety review

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.

API & playground

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.

Request
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
Response headers
X-Job-Id7f3c91e8-…
X-Processing-Time4.18
X-Object-Namegearbox_housing
X-Inferred-Materialmetal
X-Inferred-Volume0.001842
X-Final-Mass8.42
X-Final-Friction0.45
X-Confidence0.91
X-Unit-Confidence0.97
X-Resolution-Sourcestep_metadata
X-Profile-Count9
X-Overrides-Appliedfalse
tier · free
Free
$0
25 scenes / mo
Dashboard only
  • +clean + empty profiles only
  • +no API key
  • +3-object rooms
tier · starter
Starter
$299/mo
100 scenes / mo
Dashboard + API
  • +all profiles
  • +API keys
  • +all 4 templates
tier · pro
Pro
$799/mo
1 000 scenes / mo
Dashboard + API + priority
  • +all profiles
  • +API keys
  • +priority queue
Compile your first asset

Upload a mesh or CAD file in the dashboard, or call the API from your training pipeline.