Open Pointcloud Studio in an isometric overview: a scan of 455 million points of a building with its garden and blossoming trees, the project panel on the left and the Properties panel on the right
The same scan with the section box set to 11% of the height, so the rooms are seen from above, and a distance measurement of 26.774 metres between two points
The section box narrowed to a slab between 4% and 31% of the height, which frees the facade with its windows; on the right the saved view and the sliders of the section box
Section drawing of two generated test rooms: the plan seen from above, with the preview of the filled cut (the wall between the rooms with its door opening left open, and a round column, as filled regions) and on the right the Section drawing block (Snedetekening in the Dutch interface) in Properties
Closed mesh of the same generated test rooms: the surface of the two rooms with a door opening left open in an outer wall, and on the right the Closed mesh block (Gesloten mesh in the Dutch interface) with its result: 15,868 vertices, 30,563 triangles and a mean deviation of 1.6 mm
Detected faces of the same generated test rooms, each type in a colour of its own (ceilings blue, walls sand), and on the right the Detect faces block (Vlakken herkennen in the Dutch interface) with its counts: 2 floors, 2 ceilings, 10 walls and 1 column

Download v0.8.0

Each button starts the download right away. You need no account and there is no page in between.

Windows
Windows 10 and 11, 64-bit
Installer (.exe)
macOS
macOS 11 and later, Apple and Intel processors
Disk image (.dmg)
Linux
x86-64; Ubuntu 22.04, Debian 12, Fedora 36 or later
AppImage (any distribution)

experimental Linux on 64-bit ARM: AppImage · .deb · .tar.gz

  • Windows: the installer installs for the current user, without administrator rights, or for all users. If the release carries no code signature, Windows may warn about an unknown publisher: choose More info and then Run anyway. If you would rather not install anything, unpack the zip and start the program from there.
  • macOS: open the disk image and drag the application onto Applications. The application is not notarised, so macOS refuses the first start. Allow it once: on macOS 15 and later, start the application, close the message and choose Open Anyway under Privacy & Security in System Settings; on macOS 11 to 14, Control-click the application and choose Open.
  • Linux: make the AppImage executable once with chmod +x and then start it. The AppImage mounts itself through FUSE (fusermount3 or fusermount); without FUSE, start it with --appimage-extract-and-run after the file name. Install the .deb package with sudo apt install ./open-pointcloud-studio_*_amd64.deb, run in the folder that holds the download. Linux needs a C library of version 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora 36 or later), X11 or Wayland, and a Vulkan driver or OpenGL ES 3. File dialogs use the desktop portal, or zenity where there is none.
  • Linux on 64-bit ARM: experimental. These packages are built and tested only on build machines with software rendering, not yet on real ARM boards or laptops.
  • In the release every file has a .sha256 file of the same name beside it, holding its checksum: put .sha256 after the address of a download to fetch it. The README describes how to check a download with it.

What you can do with it

Opening scans

Point clouds in LAS, LAZ, E57, PLY, PCD, PTX, PTS and text formats, and meshes in OBJ, PLY, OFF and STL. Drop files on the window and open several at once: each file is a layer that you can hide, show or close.

A whole scan project at once

Open a folder of scans, or the scan project file (.rcp) of a project: the scans that the file lists and that lie beside it are opened together. Dropping a folder or a project file on the window works too.

Large files

LAS and LAZ files open immediately from their header. An E57 file of 512 MiB or more first shows a sample spread through the file, when its layout allows that; other files of that size show the points read so far every few seconds. A strip above the scene shows the progress and the time left, with a button to cancel.

Detail where you look

For clouds of one million points or more the application automatically builds an index on disk, an octree. It supplies the detail for the current camera position, up to the point budget you set: at most ten million points. The points on screen stay while the camera moves; the detail of the new view takes their place once it has been read. The index is kept and used again when you open the file later.

Display

Four colour modes (stored colour, elevation, intensity and classification), eye-dome lighting and an adjustable point size. The classes that occur in the clouds can be shown or hidden one by one. A view cube and seven camera directions turn the view.

Section box

A box with six draggable faces limits what is shown, selected, meshed and searched for faces. This is how you cut a floor plan or a section out of a scan; the content of the box can be exported on its own or drawn as a 2D drawing. The box follows the X, Y and Z axes of the scan and cannot be rotated.

Measuring

Distance measures a line through two or more picked points: each segment, the total length, the horizontal length and the height difference. Area measures a closed polygon in its own plane, so a wall or a sloped roof gets its real area, and also gives the area seen from above and the perimeter. Points are picked from all points of the active scan, not only from those on screen.

Views, notes and BCF

A saved view keeps the camera, the section box, the colour mode and its annotations: a note on a picked point or an arrow between two points. All views of a scan export as one BCF 2.1 file, each with its notes, camera, clipping planes and a picture of the scene.

Station photos and walking

Scanner stations of E57, PCD and PTX scans are shown as markers in the scene. A station with photos is drawn as a ball: click it to stand in that station and look around. Walk through the scan with W, A, S and D, go down and up with Q and E, and faster with Shift.

Selecting and editing

Select every source point inside a rectangle, or pick one point and read its coordinates and attributes. Delete the selection, with undo for up to eight deletions, thin a cloud to an exact percentage of its points, or move and scale it. The source file is never changed: an export writes the edited result.

Exporting and merging

Export the whole cloud, the selection, everything but the selection, the content of the section box or every Nth point as LAS, LAZ, E57, PLY, XYZ, PTS or CSV. LAS and LAZ exports keep the original point records with their attributes. Visible LAS and LAZ scans can be merged into one file. Every export reads the full source, so points that are not on screen are written too.

Meshes

Terrain mesh builds a 2.5D surface from the lowest points of a grid. 3D surface also follows walls and overhangs; it leaves holes and is not watertight. Export mesh… saves any mesh, whether made here, opened from a file or downloaded from the 3D BAG, as OBJ, binary PLY or binary STL. Properties shows the vertices, the triangles, the open edges and the number of connected parts.

Section drawing

Section drawing makes a 2D drawing at scale 1:1 of what the section box cuts and saves it as DXF or DWG: a plan from the slab under the top face of the box, or a vertical section from the slab behind one of its four sides. The drawing holds the points of that slab from every visible scan, thinned to one point per 5 mm. Filled cut draws the walls, columns and floors that the slab goes through as filled regions with outlines and leaves door and window openings open. Preview shows these regions over the points before a file is saved.

Closed mesh

Closed mesh builds a surface without overlaps from every point inside the section box, or of the whole scan: closed wherever the scan has points or a gap narrower than the hole limit (0.25 m at the start), with door and window openings left open. Put the box around a room and choose Start; the block in Properties says beforehand how large the region is and about how many triangles it gives, and warns when that is more than a mesh may hold. Afterwards it gives the mean, the 95% and the largest distance between the points and the mesh, the open edges and the connected parts. A mesh holds at most four million vertices and eight million triangles and can be saved as OBJ, PLY or STL.

Detected faces

Detect faces finds, inside the section box or in the whole scan, the flat faces (floors, ceilings, walls and sloped planes) and the round columns and pipes. A flat face is one plane with its outline, in which a window is a hole and a door a notch; a column or pipe is one cylinder with its axis, radius and scanned length, without an outline. It is not a mesh of the surface. The list gives the type, the area and the residual of the points (RMS) of every face; a click highlights the face in the scene. Export faces… saves them as JSON with the parameters of every plane and cylinder, or as OBJ with a group per face.

3D BAG buildings

3D BAG buildings… in the File view downloads building models of the Netherlands from the public 3D BAG register for an area in RD New coordinates and shows them with a scan. One download covers at most 2 by 2 km and about 5,000 buildings and needs an internet connection. It is a built-in extension that can be switched off on the Extensions page.

Dutch and English

The interface follows the language of the system, Dutch or English, and can be changed in Settings. The messages in the status bar and most texts with a count in them are in English only. There are five colour themes.

File formats

Format Read Write Notes
LAS, LAZyesyesOpens from the header; exports keep the original point records
E57yesyesScanner positions and station photos are read; spherical and cylindrical photos are not shown
PLYyesyesReads ASCII and little-endian binary; writes either
PCDyesnoASCII, binary and compressed binary
PTXyesnoWith the scanner position of each scan
PTSyesyes
XYZ, ASC, TXT, CSVyesXYZ, CSVText with one point per line
OBJyesyesMesh with colours and normals; material colours are read, texture images are not. Detected faces are written as OBJ too, with one group per face
PLY as meshyesyesShown as faces. Written as binary PLY with double-precision coordinates, and with colours and normals where the mesh has them
STLyesyesShown as faces. Written as binary STL: triangles only, without colours. A mesh more than 2,048 m from zero is written relative to a whole-metre origin that the file header names
OFFyesnoShown as faces; can be saved as OBJ, PLY or STL
DXFyesyes, as a drawingRead: ASCII DXF only. POINT entities open as points, 3DFACE entities as faces that can be saved as OBJ, PLY or STL; other entities are skipped. Written: the 2D drawing of a section box, with points, filled regions, outlines and a line of text; not a format of the point exports
DWGnoyes, as a drawingThe 2D drawing of a section box, as for DXF, in file version R2004, R2010, R2013 or R2018. DWG files are not opened
Faces as JSON (.json)noyesThe detected faces of a scan: every plane with its parameters, its outline and the residuals of its points, every cylinder with its axis, its radius and its residuals, and the edges between flat faces. The user guide describes every field
Scan project file (.rcp)yesnoOnly the list of scans is read. The indexed scan copies (.rcs) of a project are a closed format and are not read
BCF 2.1 (.bcf)noyesSaved views with notes and pictures
PNGnoyesPicture of the 3D view, through the command API

Command API and MCP server

Every window runs a command server on 127.0.0.1. The commands open and close scans, set the camera, the section box and the display, select, delete, measure, save views, export, draw sections, mesh, detect faces, download 3D BAG buildings and take pictures of the 3D view. The server listens on the loopback address only and refuses a command without the token.

open-pointcloud-studio --mcp runs a Model Context Protocol server. It offers a tool for every command of the API, tools that wait for long tasks, a tool that returns the 3D view as an image, and tools to list, choose and start windows.

From the command line the application also works without a window: converting to another format, exporting the points inside a box, merging scans, building an index, drawing a section as DXF or DWG, making meshes and detecting faces.

  • API.md: every command
  • MCP.md: every tool and the configuration for a client program
  • README: the command-line modes

Good to know

  • The section box cannot be rotated. A building that stands at an angle to the axes of the scan is cut at that angle.
  • Lengths and areas are in metres. The coordinates of a scan are taken as metres and are not converted.
  • A measurement is not saved with the scan.
  • A 3D surface leaves holes and is not watertight.
  • A mesh holds at most four million vertices and eight million triangles, whether it comes from a file or from a mesh job.
  • A closed mesh and detected faces exist in the running session only: export them to keep them. A scan holds one mesh; a new mesh takes the place of the previous one.
  • The point limit of a section drawing is 150,000 points by default and at most 400,000; when thinning to 5 mm leaves more points, the point spacing doubles until they fit.
  • The filled cut of a section drawing is traced from the points: a wall scanned from one side is drawn as a thin strip, gaps under about half a metre are closed, and furniture in the slab is drawn unless its points are deleted first.
  • A closed mesh rounds corners by about a quarter of a voxel, lets objects thinner than two or three voxels merge or get holes, and leaves some gaps beside another surface open. Without scanner stations, a surface that the centre of the region sees edge on can come out torn.
  • Detect faces reports no strips narrower than 0.15 m, such as door reveals. A region too large for the working budget is searched with larger voxels, thin scans give fewer faces or none, round columns wider than about 0.7 m come out as strips of wall, and without scanner stations the side a face looks at is a guess.
  • The DXF and DWG files have not yet been checked with a range of drawing programs. If a program refuses a DWG file, try DXF or another file version.
  • The filled cut, Closed mesh and Detect faces were measured on generated rooms, not yet on a scan of a real building. The user guide lists the limits of the filled cut, Closed mesh and Detect faces.
  • An index can take several gigabytes on disk for a large survey.

Guide, changes and source

Technology and licence

Rust iced wgpu

The desktop application is licensed under GPL-3.0-only, the point-cloud library under LGPL-3.0-or-later. Every package carries the licence texts.