From a single STEP file

ONEFILE IN

Send the CAD file you already have. Back comes a model that turns in the browser, a film of the product moving, and a film of it coming apart — geometry untouched, nothing drawn by hand.

The route

Six steps, no guesswork

Every step reads from the file or from the step before it. Nothing is modelled again, and nothing is generated.

  1. Read the STEP file with OpenCascade — every solid, every colour the file carries.
  2. Split into parts. Named components become groups; a flat file is grouped by geometry.
  3. Kinematics from the assembly: joint axes from the servos or hinges, if the file has them.
  4. Rig the parts under those axes. Separation vectors derived from each part's own shape.
  5. Render in Cycles, path-traced, on our own GPUs. Colour and light are the only things we choose.
  6. Deliver as a web page (glTF, 1–2 MB) and films. Works offline, no cloud in the chain.

Proof one · robot arm · 266 solids

The hard case first

A six-axis robot arm: 270 named parts, 387 assembly relations, six servos. The STEP file came from an Autodesk export. Nothing here was remodelled — drag it.

Loading model

drag to rotate · ⌘/ctrl + scroll to zoom
Geometry from the CAD file, untouched. Colour, finish and lighting are art direction.
266solids in the file
71 354triangles delivered
0.46 MBon the wire

Kinematics · Cycles

And it moves the way it was built

The joint axes were read out of the assembly — the servos define them. The gripper opens and closes because the file says it can.

Loading film

Joint axes derived from the assembly. Colour, finish and lighting are art direction.
6joints read from the file
240frames path-traced
0axes placed by hand

Exploded view · Cycles

And it comes apart

Every fastener travels out along its own axis; the links draw apart along the kinematic chain. 142 moving units out of 266 solids.

Loading film

Separation vectors derived from the geometry. The controller board travels as one unit — its components are millimetres across.
142moving units
87fasteners on their own axes
12 sapart and back, on a loop

Proof two · Sky Dryer · received 26 Aug, delivered 27 Aug

The simple case, one afternoon

A cone of 370 mm with more than three thousand air openings. Six solids, no assembly tree, two colours. The file arrived overnight; this page section existed the same afternoon.

Loading model

drag to rotate · ⌘/ctrl + scroll to zoom
Geometry from the CAD file, untouched. Shown in the file's own colours.
6solids in the file
3 333air openings, each one modelled
1 dayfile to web

Product still · Cycles

The same file, lit like a product

One frame from the same six solids: white injection-moulded plastic, a seamless backdrop, studio light. Nothing was added to the geometry — the cone, the three thousand openings and the two buttons are the file's own.

Sky Dryer, white cone with perforated band and yellow button, on a grey studio backdrop
Material, backdrop and light are art direction. The shape is untouched.
6solids, unchanged
1frame, path-traced
0geometry added

No joints in the file · Cycles

Still, a part that turns

The Sky Dryer carries no joints — but the fan wheel is its own solid, so it can be set spinning on its own axis. Cone lifted, rings in place, two turns in six seconds.

Loading film

Axis taken from the wheel's own geometry. Colour and lighting are art direction.
1rotating solid
144frames path-traced
6 stwo turns, on a loop

Exploded view · Cycles

Six parts, lifted

Cone, fan wheel, housing ring, base ring and two buttons. The file has no assembly tree, so the order of separation is ours — the geometry is not.

Loading film

Shown in the file's own colours on a dark ground. Lighting is art direction; the geometry is not.
6separable solids
288frames path-traced
12 sapart and back, on a loop

What the file has to carry

Where it stops — said before you ask