Sign in

Portraitist

Open in new tab

Turn a phone LiDAR scan of a real place into a printable site portrait — entirely in your browser, with every step spoken. Import a GLB / PLY / OBJ / STL / 3DM scan and hear the mesh report (spans, holes, ground plane, resolution — the blind maker's viewfinder); then condition it: level the floor, scale it by a measurement you taped on site — never the file's own claim, and the disagreement is spoken — crop to a typed window in feet or keep the largest connected piece (every crop reports the percentage removed), and place it with typed offsets and a rotation. Then the handoff: the conditioned scan rasterizes to a heightfield at an imperial model scale and rides Relief's fabrication machinery out as watertight printer-bed STL chunks named like map squares (A1 is the north-west corner), zipped with the scan's caveats and an assembly map, plus the same ground full size as a Rhino .3dm in feet with contours. The honest limit is stated and measured, never hidden: a heightfield keeps the top surface, so canopies flatten — and the tool says which regions lost how much undercut. Client-side; nothing uploads, no sign-in.

Turn a phone or lidar scan of a real site into a touchable 3D-printed model — scan in, true it up, choose the print area, print and assemble. The four numbered steps below run top to bottom; none of them locks, and a step without data yet just says what it needs.

1 · Scan in

Import a phone or lidar scan. The tool reads it back as the spoken mesh report — triangles, spans, ground plane, holes.

No scan loaded

Nothing uploads — the scan stays in your browser. A phone scan over the triangle budget is simplified on import, with the cost spoken.

2 · True it up

Make the scan honest: level the floor flat, set true size from a measurement you taped on site, and crop to the part you want.

No dominant ground plane found yet.

Unverified — sizes rest on the file's own claim. Tape one span on site and type it here.

Import a scan to crop it.

Every crop is spoken with the percentage of surface it removed. Your file on disk is never touched.

3 · Print area

Place the scan, then pick a model scale and printer. The chunk grid in the viewport is what the STL and Rhino exports (top right) cut.

ft
ft
°

Stored as typed numbers and applied at rasterize time — the mesh itself is never re-baked by a placement change.

1″ of model = 20 ft of ground

in

Set by the printer above — pick Custom bed to type your own.

in
in
in

4 · Assemble

Print and put it together: the registration base, the fit coupon, found fragments mounted with their provenance, and the spoken assembly steps.

No base yet — import a scan (its chunk grid becomes the sockets) or type a plate size below.

From the fit coupon: the socket number where the pin seats snug without force. Stored in this browser, per printer.

F-series sockets hold found fragments — first-class on the base, the key map and the record, like every keyed socket.

Say mount F1 asphalt chip from the east lot — or use the form. Words after the socket are the material; from… starts the provenance.

Cradle for a fragment

Typed dimensions — inches, or feet and inches like 1′ 2″. The interior gains the coupon clearance plus ease; museum putty holds the fragment.

No scan yet — import a .glb, .ply, .obj, .stl or .3dm in step 1 and its terrain renders here in 3D: orbit, zoom, the crop window and the print-chunk grid drawn on the ground.

Scan report · step 1

Import a phone scan and this panel becomes its viewfinder: triangles, spans, ground plane, holes, coverage, resolution — the same sentences the tool speaks.

Heightfield handoff · step 3

Once a scan is conditioned, it rasterizes here to the grid the print chunks and the Rhino file are cut from — with the honest limit stated: a heightfield keeps the top surface.

Operations log

Nothing conditioned yet.

Portraitist · Good Tools