MeshOptimiserBeta Download

Features

A CAD preprocessor, viewer, hierarchy editor and exporter in one local app.

In motion

Four tools at work.

01Fill holesBolt holes, slots and pockets in flat faces close a few at a time; everything else is left as it was.
02SplitA mesh that was fused on export comes apart into the solids it was made of.
03Select hidden partsThe screws, bearings and brackets inside a housing light up: everything that cannot be seen from outside.
04Smart fitA dense part becomes a box, a cylinder, a few boxes or blocks that keep its outline.

STEP → GLB

Pipeline

  • XCAF readerPer-solid colours, names and the full assembly tree pulled straight out of OCCT.
  • PCA pose-normalized hashThe same shape at any rotation or translation becomes one GPU mesh and N transforms.
  • Adaptive tessellationAbsolute, or relative to the bounding-box diagonal, with size culling for the tiny stuff.
  • Meshopt + DracoOptional EXT_meshopt_compression through gltfpack, for roughly 10× smaller GLBs.
  • One-click launchstart.bat / start.command sets up the Python environment and opens the browser.
  • Background jobsLong conversions run as server jobs with live progress streamed to the UI.

Features

Viewer & rendering

  • Dual rendererWebGPU by default, with a hot-swap to WebGL2 from the toolbar.
  • PBR, AO and environmentStudio lighting, ambient occlusion, screen-space reflections, fog.
  • Readable dark partsA studio to reflect on the plain backgrounds and a headlight that follows the view, so dark parts keep an edge and a sheen.
  • Pixel-perfect pickingHover, click and marquee-select, including on instanced meshes.
  • Hide / Isolate / SoloOne key per mode: flatten the noise, focus on what matters.
  • Recolour by groupPer-instance and per-material recolouring, with reset built in.
  • Solid / Wireframe / X-ray / Heatmap / ClayView modes switchable at any time. Clay draws every part in one plain material, to read the shape.

Features

Mesh tools

  • Fill holesCloses bolt holes, slots and pockets in flat faces and leaves the rest of the mesh alone. Options for through, blind and open holes, size and depth.
  • DecimateReduces the selection by a percentage or to a triangle budget, keeping normals, UVs and vertex colours.
  • SplitRecovers the separate solids of a mesh that was fused on export.
  • Smart fitReplaces parts with a low-poly stand-in: a box, a turned box, a cylinder, a handful of fitted boxes, or blocks that keep the outline.
  • Fit to budgetA triangle target for the whole scene: the densest meshes are reduced first, with a preview and one undo step.
  • Select hidden partsFinds the parts that cannot be seen from outside and selects them, ready to delete.
  • Align to floorTurns a model that arrived on its side and stands it on the grid over the origin, as one undo step.
  • Clean-upRemoves small, empty, duplicate and degenerate parts, and empty groups.
  • What it savedEvery action shows the triangles it removed; each part remembers the count it arrived with.

Features

Hierarchy editing

  • Live tree10K+ nodes, virtualised, with a sticky right column.
  • Search + filtersFuzzy name search and “highlight small parts” tinting.
  • Flatten / DissolveCollapse single-child chains, dissolve groups, ungroup scopes.
  • Batch rename (F2)Token templates, regex find and replace, presets.
  • Undo / RedoTree edits, recolours, renames and flattens on a single timeline.
  • Right-click menuHide, isolate, recolour, rename and focus the camera in one click.

Features

Export

  • GLB / glTFDraco and Meshopt compression toggles, optional embedded textures.
  • FBX / USDZ / OBJ / STLCommon DCC and AR formats, with scale presets (mm, cm, m, in) or custom.
  • Save SceneA snapshot of view, selection and recolours in a sidecar .scene.json.

Features

Interface

  • Welcome screenDrag and drop, browse, or reopen recent files.
  • Scene tabsEach tab is a scene of its own. New and Open never replace a scene that has something in it.
  • Command panelsA tool with settings opens as a panel beside the viewport: Enter runs it, Esc puts it away.
  • Drag any numberDimensions and limits are numbers you drag sideways, or click to type.
  • One Settings windowGeneral, viewport, camera, performance, scene and storage, with a search across all of them.
  • Search (Ctrl / ⌘ + K)Every action, part and library part, one keystroke away, with suggestions for what is selected.
  • Object libraryThe left sidebar switches between the parts tree and a library of 86 parts to drag into the scene.
  • Shortcuts overlayA searchable cheatsheet with live key bindings.
  • Resumable sessionsFile handles and saved scenes persist across reloads.
  • Non-destructiveOriginal geometry is never changed until you export.
  • No build stepVanilla JS, native ES modules, CSS design tokens. Edit a file, refresh, done.

A closer look

The details, in pictures.

All screenshots
MeshOptimiser: A drawer full of parts
01

A drawer full of parts

Hex bolts, wing nuts, pillow blocks, I-beams, gears, a stepper motor: 86 parametric parts on six shelves. Drag one out and a see-through copy shows where it will stand, square to the face under the pointer. Let go and it is there.

MeshOptimiser: 878 parts nobody will ever see
02

878 parts nobody will ever see

Select hidden parts looks at the model from every side and picks out what cannot be seen from any of them. On this assembly that is more than half the parts and 2.4 million of its 5.4 million triangles, selected in one step and ready to delete.

MeshOptimiser: 82% lighter, still recognisable
03

82% lighter, still recognisable

Smart fit used to turn a bracket into a brick. Blocks rebuilds each part from a coarse grid, with its steps, arms and openings where they were. This drive unit went from 16,812 triangles to 3,048 in one command.

MeshOptimiser: A bolt that brings its own nut
04

A bolt that brings its own nut

Tick it on, choose the nut, and set how far from the head it sits. It is part of the bolt’s own shape, in the bolt’s thread: one part in the tree, one undo step, and it cannot run off the end.

MeshOptimiser: Clay
05

Clay

One key and the colours are gone. Every part in the same plain material, lit by a headlight that follows the view, so edges, curvature and what stands in front of what are all that is left.

MeshOptimiser: Search that finds everything
06

Search that finds everything

Type “bolt” and get the foot bolts in the scene and every bolt in the library. Enter selects and frames a part, or adds a new one. It also works out 12*25.4 and 2 in.

MeshOptimiser: Tabs you can arrange
07

Tabs you can arrange

Every tab is a scene of its own. Drag them into order, save from the tab’s icon, and keep your sidebars where you put them from one scene to the next.

MeshOptimiser: It starts like an app
08

It starts like an app

Installed, it opens in a window of its own with no address bar and no browser tabs. Drop a STEP, GLB, glTF, FBX, OBJ, 3MF or STL file on the start screen, or begin from a shape.

Run it on your own machine.

Free and open source under the MIT licence. Windows and macOS; your files never leave the computer.