Mesh in. Solid out.

stlToSolid turns STL, OBJ and 3MF files into clean STEP solids with real planes, cylinders and holes. Sketch on them, measure them and model around them in Fusion 360.

Free for personal use. Also runs on your NAS and inside Fusion.

1,644 triangles

You downloaded a bracket. You need a lid that fits it. Fusion turns the mesh into a “solid” made of 1,644 triangles, and none of them is a face you can use.

The same servo bracket in Fusion 360 three ways: Fusion's faceted Mesh to Solid, the raw mesh, and the stlToSolid STEP
Fusion 360 Mesh to Solid, zoomed in: every triangle is its own face
Fusion’s free Mesh → Solid. Every triangle is a face.
  1. Holes are polygons.

    A Ø 8.5 mm bore comes in as a ring of flat strips. Measure snaps to a facet, not the centre.

  2. Nothing to sketch on.

    Every flat side is cut into triangles, so “sketch on face” lands on a sliver.

  3. Fillet, shell, offset: refused.

    Fusion’s tools want real edges. A faceted body gives them thousands of tiny ones.

  4. The clean conversion costs extra.

    Fusion’s Prismatic mesh conversion isn’t on the free tier. Rebuilding by hand takes an evening per part.

Same file. Same Fusion. 23 faces instead of 1,644.

Drag the line. Left is Fusion’s own Mesh → Solid. Right is the STEP from stlToSolid, opened in the same Fusion: 15 planes, 8 cylinders, holes that are holes.

stlToSolid STEP in Fusion 360: clean planes and round holes
Fusion Mesh to Solid: triangle facets
Fusion Mesh → Solid stlToSolid STEP

How a pile of triangles becomes design intent.

The same steps you would take by hand, done in seconds and checked at the end.

1

Weld and repair

STL, OBJ, PLY, OFF, 3MF or GLB. Micron cracks are welded, broken faces dropped, separate bodies split, and a cavity stays a cavity inside its part.

2

Find the axis

Face normals are clustered on a sphere. Each candidate direction is scored by how much of the part keeps the same cross-section along it.

3

Slice into slabs

Flat faces vote for heights. Where the section starts to change, at a chamfer, a countersink or a boss top, a new level is found by bisection.

4

Fit lines and true arcs

Each outline is split into lines and arcs. Radii are refitted on the mesh vertices, which sit exactly on the original CAD surface.

5

Snap to design intent

Facet noise like r = 5.242 … 5.257 across the part becomes one design radius. Holes line up, corners square up.

6

Rebuild and check

Extrude, loft with analytic faces, cut the cross holes, then measure the solid against the mesh both ways. Fail the gate and it tries the next route, never silently.

Four tools. One for every kind of part.

Pick a tool in the top bar, the way you would in Fusion. The panel shows only what that tool needs.

Mesh → Solid

For machined and printed parts: brackets, arms, housings.

Tries a prismatic fit first, then face groups, then faceted. Every route is held to the accuracy gate you set, and the report says which one won.

Servo bracket
1,644 triangles → 23 faces, about 2 s
You get
STEP, CadQuery script, Fusion 360 script
The stlToSolid Mac app: a servo bracket converted to a prismatic solid, every accuracy check passed

Sliced Loft

For shapes that change smoothly: caps, handles, shells.

Slices the body every 0.2 mm, redraws each outline as a spline and lofts one smooth face per run. Shoulders stay flat faces. Holes along the axis are cut.

Lens body cap
22 s, one solid
You get
STEP, Fusion loft timeline
The stlToSolid Mac app: Sliced Loft on a lens body cap, with the slice plane and its traced outline

X-Ray

For organic parts and scans you want to rebuild your way.

Pick a start plane, an end plane and a spacing. The outlines are traced slice by slice, then downloaded as one Fusion script: a closed sketch per slice, extruded into slabs if you like.

Speed
8 ms a slice on a clean part
You get
Fusion sketches on their own planes
The stlToSolid Mac app: X-Ray tracing 67 section outlines between a start and an end plane

Blueprint

For parts you only have a drawing of.

Drop a dimensioned drawing. A vision model of your choice reads the labels into named parameters, and you get a parametric Fusion script, a STEP and a live 3D preview. Fix a number and it redraws.

In Fusion
Change body_h and the boss moves with it
Models
Claude, OpenAI, DeepSeek, or your own Ollama
The input: the stlToSolid Mac app in Blueprint, a dimensioned drawing of a 9 g micro servo loaded with top, front and side views, ready to read The drawing you drop in
The output: the stlToSolid Mac app has built the servo as a 3D model, every parameter listed with where on the drawing it came from What Blueprint builds from it

Also in the box

  • Pick bodies in 3D. A 68-part controller? Tick the two halves you need and skip the screws.
  • Hollow parts stay hollow. Cavities become inner shells, so the volume is exact.
  • Units and scale. Spot a cm file posing as mm before you convert, not after.
  • Leaky meshes. Gaps up to 2.5 mm are joined so an outline comes back closed.
  • Single slice. Drag a plane through the part and download that one sketch.
  • Honest fallback. If a clean fit fails, you still get a valid, merged solid and a report.

Inside Fusion, the X-Ray becomes a solid.

The Mesh to Outline add-in on a scanned controller, from two planes to one body. Every picture is Fusion 360.

The Mesh to Outline dialog in Fusion 360 with a start and an end plane through a scanned controller
Fusion 360 tracing the sections, with a progress dialog at section 19 of 21
Twenty-one section sketches stacked through the controller, each listed in Fusion's browser
One section sketch open in Fusion, a single closed blue profile
The finished stepped solid body of the controller in Fusion 360, with the sketches in the browser
  1. 01

    Pick two planes

    Choose the mesh body, a start plane, an end plane and a spacing. Here: 2 mm apart, 21 slices through a scanned controller.

  2. 02

    Watch it trace

    Each slice is cut and fitted in turn, right inside Fusion. The progress dialog counts the sections, and Cancel stops it cleanly.

  3. 03

    One sketch per slice

    Every slice lands as its own named sketch on its own plane, listed in the browser from the first plane to the last.

  4. 04

    A closed profile, every time

    Each sketch is one closed outline of lines, arcs and splines, so Fusion sees a profile it can extrude, offset or fillet.

  5. 05

    A solid you can design on

    Tick Extrude and each sketch is extruded to the next and joined. The stack becomes one solid body in the timeline.

Measured, not guessed.

Every result is checked against the mesh before you download it: surface deviation both ways, bore deviation and volume. You set the limits.

0.019mm, 95th-percentile deviation on the servo bracket

CheckMeasuredLimitResult
Surface deviation p95, mesh → solid0.019 mm≤ 0.25Pass
Surface deviation max, mesh → solid0.060 mm≤ 0.26Pass
Surface deviation p95, solid → mesh0.018 mm≤ 0.25Pass
Bore deviation p95, 5 bores0.015 mm≤ 0.10Pass
Volume error0.08 %≤ 2Pass
Sample parts, default gate. Faces are true BREP faces in the STEP.
PartTriangles inFaces outReductionMax deviationVolume error
Servo bracket1,644230.060 mm0.08 %
Servo bracket 21,712190.044 mm0.06 %
Top arm3,896440.050 mm0.00 %
Frame4,2001010.040 mm0.03 %
Joystick claw2,1341530.019 mm0.07 %

An evening of section sketches, or two seconds.

By hand in Fusion

  1. Insert the mesh
  2. Create a mesh section sketch
  3. Fit curves to the mesh section
  4. Fix the curves that missed
  5. Repeat for every section
  6. Extrude, loft, cut, one by one
  7. Measure, and hope it lines up

With stlToSolid

  1. Drop the file
  2. Press Convert
  3. Open the STEP in Fusion

The report tells you how close it is, in millimetres, before you start designing.

2sservo bracket, start to STEP

22slens cap as one smooth loft

98.6%fewer faces on the bracket

0.08%volume error

Made for people who design around things that already exist.

A 3D printer printing a grey bracket at night

Makers

Model a mount, a lid or an adapter around a part you downloaded, and get the fit right first time.

Calipers measuring a plastic clip next to its printed replacement

Fixers

Rebuild a clip or knob from a scan or an old print, then change what broke.

Drone arm, servos and printed brackets laid out on slate

Drone and RC builders

Turn community STLs of frames, arms and servo mounts into parts you can resize and remix.

A handheld 3D scanner scanning a controller housing

Scan-to-CAD

Slice a scan into clean outlines with X-Ray and rebuild it as a real model.

A dimensioned servo drawing with a printed bracket on it

Engineers and designers

Start from a datasheet drawing and end with a parametric Fusion model.

What people use it for

  • Design a lid that fits a downloaded boxMesh → Solid
  • Re-make a broken clip with a thicker wallMesh → Solid
  • Mount a screen inside a scanned controllerX-Ray
  • Copy a lens cap’s curve for a new adapterSliced Loft
  • Get one clean profile through a meshSingle slice
  • Turn a servo datasheet into a parametric modelBlueprint

Files you can keep editing.

bracket.step
One STEP with named bodies, faces coloured by surface type.
bracket.py
A CadQuery program of the sketches it recognised. Change R_1, run it, get a new STEP.
bracket_fusion.py
The same sketches and extrudes as a parametric Fusion timeline.
servo_bracket_1.py
# ---- parameters (radii R_n, slab heights H_n) ----
H_1 = 14.4202
R_1 = 4.2501      # the Ø 8.50 mm bore
H_4 = 3.5
R_3 = 2.4547

# slab 1: h = -64.6751 .. -64.1385 (extrude)
_s = (cq.Workplane(plane_at(-64.6751))
      .moveTo(1.2749, -17.4883)
      .lineTo(1.2749, -10.2705)
      .threePointArc((0.2094, -6.0986), (-2.726, -2.9487))
      .lineTo(-17.0769, 6.2616)
      .close()
      .moveTo(-21.12, -0.0065).circle(R_1)
      .extrude(H_2))

Runs where you work.

Downloads come from the latest GitHub release.

macOS

Apple Silicon. A native window over the full app, no Python or Docker to install.

Download for Mac

Your NAS

One Docker container. Open it from any browser on your network, and let the long conversions run while you print.

docker compose up --build
Read the NAS guide

Inside Fusion 360

Mesh to Outline sits on Fusion’s Mesh tab. Pick a mesh body and a plane, and it draws the section as lines, arcs, circles and fitted splines, or a whole X-Ray stack between two planes. STL to Solid fits planes, cylinders, cones, spheres and tori to a mesh body, then lets Fusion’s Boundary Fill keep the material. Both run in Fusion’s own Python, with no server.

Get the add-ins
Mesh to Outline running inside Fusion 360: a scanned controller mesh with two section planes and the add-in's X-Ray settings panel The Mesh to Outline button on Fusion's Mesh tab, with its tooltip

Stop modelling around triangles.