Open SolidCraft above and drop a .ply, .xyz or .pts file onto the window to try Insert Point Cloud. This page covers the point cloud feature itself; for solid geometry from a CAD exchange file instead, see SolidCraft STEP files.
What a point cloud is in SolidCraft
A point cloud is scanned points kept in the design as a reference to model from: a lidar or SLAM map, a photogrammetry result, or a scan from a handheld 3D scanner. SolidCraft draws it as dots in the viewport, depth-tested against your bodies so it occludes and is occluded correctly, but it never becomes a body itself. Nothing in the modelling timeline depends on a point cloud — it sits alongside your design as a reference you sketch or measure against, not a feature that other features build on.
File formats it reads
| Extension | What is read |
|---|---|
.ply |
ASCII, binary little-endian and binary big-endian PLY. SolidCraft reads the vertex element's x, y, z (any numeric type) and, when present, its red, green, blue channels (bytes, 16-bit values or 0–1 floats). Other properties such as normals or intensity, and other elements, are passed over. |
.xyz, .pts |
Plain text, one point per line: x y z, optionally followed by r g b (six numbers total) or by an intensity value and r g b (seven or more numbers, the way PTS files commonly write it). Spaces, tabs, commas or semicolons can separate the numbers. Lines starting with # or // are comments, and a PTS file's first line — its point count — is skipped automatically. |
If a PLY file also carries faces rather than just vertices, it is not a point cloud in the usual sense — use Insert Mesh (file.insert_mesh) instead, and Insert Point Cloud will flag this in its warnings if you try it anyway.
Units matter, because the file doesn't say
Point cloud files carry no length unit of their own, so SolidCraft needs to be told. The units option (mm, cm, m, in, ft) defaults to millimetres, the same default every other import in SolidCraft uses. Lidar and SLAM maps are usually captured in metres, so it's worth checking this before you start measuring against a scan — a cloud imported as millimetres when it was actually scanned in metres will look a thousand times too large or too small relative to a part you model next to it. The unit isn't locked in at import time either: Browser › Point Clouds › Edit Point Cloud, or the pointcloud.edit command with a new units value, rescales the points from whichever unit they came in under.
Colour modes
The Edit Point Cloud card's Color By setting (or the color_by parameter) controls how points are shown:
- file — the default. Each point keeps the colour baked into the file, or grey where the file has none.
- single — every point takes one flat colour, set with
color. - height — a ramp by the point's design Z value, running blue (low) through cyan and green to yellow and red (high). The ramp's two end heights come from
height_range, in millimetres. Left alone, SolidCraft works these out automatically from the data: it ignores the lowest and highest 2% of points, so a handful of stray outlier points don't flatten the whole ramp into a narrow band. Turning off Automatic Range in the card lets you set the two heights by hand instead.
Height colouring is the one most people reach for when checking how flat a scanned floor is, or how a part's scanned surface departs from its nominal height, since it turns Z directly into colour without needing the file's own RGB data.
Size limits and how large files are handled
A cloud keeps at most max_points points — 5,000,000 unless you ask for more, capped at 20,000,000. A file with more points than the limit is thinned evenly, keeping one point in every n, and SolidCraft's response reports how many points actually made it into the cloud. Files up to 1 GiB can be read. Internally, points are stored at single precision relative to the cloud's first point, while that reference point itself is kept at double precision — so a scan captured far from the world origin (a real-world GPS-referenced lidar survey, for instance) still keeps its local detail rather than losing precision to large absolute coordinates. Inside the saved design file, a point cloud travels as a compact binary block: 12 bytes per point, plus 3 more bytes per point when colour is stored.
Commands behind Insert Point Cloud
For scripting, the MCP server or the CLI, the relevant commands are:
pointcloud.insert—path(required); optionalname,units,max_points,center(moves the cloud's base centre to the origin),point_size(in pixels),color_by(file,singleorheight),color(an[r, g, b]array from 0 to 1 — passing it alone impliessingle, andnullmeansfile), andheight_range([low, high]in mm, ornullto let SolidCraft pick the range automatically).pointcloud.edit— takes acloud(its id or name) plus any ofname,visible,point_size,color_by,color,height_range,units, ormatrix(a rigid placement, in the same formoccurrence.moveaccepts) to reposition it.pointcloud.deleteandpointcloud.listround out the set.- You can also just drop a point cloud file onto the open SolidCraft window to add it to the current design, or open one directly with
doc.opento start a new design holding only that cloud.
A minimal insert from a script or an AI assistant through the SolidCraft MCP server looks like:
{"command": "pointcloud.insert", "params": {"path": "scan.ply", "units": "m", "color_by": "height"}}
Need SolidCraft itself first? Start from the SolidCraft download page, or work through the SolidCraft tutorial if this is your first time opening the app.