cli-anything-cloudcompare

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

cli-anything-cloudcompare

cli-anything-cloudcompare

Agent-friendly command-line harness for CloudCompare — the open-source 3D point cloud and mesh processing software.
41 commands across 9 groups.
为Agent优化的CloudCompare命令行封装工具——CloudCompare是一款开源3D点云与网格处理软件。
涵盖9类分组的41条命令

Installation

安装

bash
pip install cli-anything-cloudcompare
Prerequisites:
  • Python 3.10+
  • CloudCompare installed on your system
    • Linux (Flatpak):
      flatpak install flathub org.cloudcompare.CloudCompare
    • macOS/Windows: download from https://cloudcompare.org
Tested with: CloudCompare 2.13.2 (Flatpak, Linux)
bash
pip install cli-anything-cloudcompare
前置要求:
  • Python 3.10+
  • 系统已安装CloudCompare
    • Linux(Flatpak):
      flatpak install flathub org.cloudcompare.CloudCompare
    • macOS/Windows:从 https://cloudcompare.org 下载
测试兼容版本: CloudCompare 2.13.2(Flatpak,Linux)

Global Options

全局选项

These options must be placed before the subcommand:
bash
cli-anything-cloudcompare [--project FILE] [--json] COMMAND [ARGS]...
OptionDescription
-p, --project TEXT
Path to project JSON file
--json
Output results as JSON (for agent consumption)
这些选项必须放在子命令之前
bash
cli-anything-cloudcompare [--project FILE] [--json] COMMAND [ARGS]...
选项描述
-p, --project TEXT
项目JSON文件路径
--json
以JSON格式输出结果(供Agent解析)

Command Groups

命令分组

1. project — Project Management (3 commands)

1. project — 项目管理(3条命令)

project new

project new

Create a new empty project file.
bash
undefined
创建一个新的空项目文件。
bash
undefined

Create a project with default name

创建默认名称的项目

cli-anything-cloudcompare project new -o myproject.json
cli-anything-cloudcompare project new -o myproject.json

Create a project with a custom name

创建自定义名称的项目

cli-anything-cloudcompare project new -o myproject.json -n "Bridge Survey 2024"
cli-anything-cloudcompare project new -o myproject.json -n "Bridge Survey 2024"

JSON output for agents

为Agent输出JSON格式结果

cli-anything-cloudcompare --json project new -o myproject.json

Options: `-o/--output TEXT` (required), `-n/--name TEXT`
cli-anything-cloudcompare --json project new -o myproject.json

选项:`-o/--output TEXT`(必填),`-n/--name TEXT`

project info

project info

Show project info and loaded entities.
bash
cli-anything-cloudcompare --project myproject.json project info
显示项目信息和已加载的实体。
bash
cli-anything-cloudcompare --project myproject.json project info

JSON output

JSON格式输出

cli-anything-cloudcompare --project myproject.json --json project info
undefined
cli-anything-cloudcompare --project myproject.json --json project info
undefined

project status

project status

Show quick project status (cloud count, mesh count, last operation).
bash
cli-anything-cloudcompare --project myproject.json project status

显示项目快速状态(点云数量、网格数量、最后操作)。
bash
cli-anything-cloudcompare --project myproject.json project status

2. session — Session Management (4 commands)

2. session — 会话管理(4条命令)

session save

session save

Save the current project state to disk.
bash
cli-anything-cloudcompare --project myproject.json session save
将当前项目状态保存到磁盘。
bash
cli-anything-cloudcompare --project myproject.json session save

session history

session history

Show recent operation history.
bash
undefined
显示最近的操作历史。
bash
undefined

Show last 10 operations (default)

显示最近10条操作(默认)

cli-anything-cloudcompare --project myproject.json session history
cli-anything-cloudcompare --project myproject.json session history

Show last 5 operations

显示最近5条操作

cli-anything-cloudcompare --project myproject.json session history -n 5

Options: `-n/--last INTEGER`
cli-anything-cloudcompare --project myproject.json session history -n 5

选项:`-n/--last INTEGER`

session set-format

session set-format

Update the default export format for future operations.
bash
undefined
更新后续操作的默认导出格式。
bash
undefined

Set default cloud export to LAS

设置点云默认导出格式为LAS

cli-anything-cloudcompare --project myproject.json session set-format --cloud-fmt LAS --cloud-ext las
cli-anything-cloudcompare --project myproject.json session set-format --cloud-fmt LAS --cloud-ext las

Set default mesh export to OBJ

设置网格默认导出格式为OBJ

cli-anything-cloudcompare --project myproject.json session set-format --mesh-fmt OBJ --mesh-ext obj
cli-anything-cloudcompare --project myproject.json session set-format --mesh-fmt OBJ --mesh-ext obj

Set both cloud and mesh defaults

同时设置点云和网格的默认格式

cli-anything-cloudcompare --project myproject.json session set-format
--cloud-fmt PLY --cloud-ext ply
--mesh-fmt STL --mesh-ext stl

Options: `--cloud-fmt TEXT`, `--cloud-ext TEXT`, `--mesh-fmt TEXT`, `--mesh-ext TEXT`
cli-anything-cloudcompare --project myproject.json session set-format
--cloud-fmt PLY --cloud-ext ply
--mesh-fmt STL --mesh-ext stl

选项:`--cloud-fmt TEXT`, `--cloud-ext TEXT`, `--mesh-fmt TEXT`, `--mesh-ext TEXT`

session undo

session undo

Remove the last operation from history (soft undo — does not delete output files).
bash
cli-anything-cloudcompare --project myproject.json session undo

从历史记录中移除最后一次操作(软撤销——不删除输出文件)。
bash
cli-anything-cloudcompare --project myproject.json session undo

3. cloud — Point Cloud Operations (21 commands)

3. cloud — 点云操作(21条命令)

All cloud commands take
CLOUD_INDEX
(0-based integer from
cloud list
) and most accept
--add-to-project
to register the output back into the project.
所有点云命令都需要
CLOUD_INDEX
(从
cloud list
获取的0-based整数),大多数命令支持
--add-to-project
参数将输出结果重新注册到项目中。

cloud add

cloud add

Add a point cloud file to the project.
bash
undefined
将点云文件添加到项目中。
bash
undefined

Add a LAS file

添加LAS文件

cli-anything-cloudcompare --project myproject.json cloud add /data/scan.las
cli-anything-cloudcompare --project myproject.json cloud add /data/scan.las

Add with a label

添加带标签的点云

cli-anything-cloudcompare --project myproject.json cloud add /data/scan.las -l "roof scan"

Options: `-l/--label TEXT`
cli-anything-cloudcompare --project myproject.json cloud add /data/scan.las -l "roof scan"

选项:`-l/--label TEXT`

cloud list

cloud list

List all clouds currently in the project.
bash
cli-anything-cloudcompare --project myproject.json cloud list
列出项目中所有的点云。
bash
cli-anything-cloudcompare --project myproject.json cloud list

JSON output for parsing indices

输出JSON格式以解析索引

cli-anything-cloudcompare --project myproject.json --json cloud list
undefined
cli-anything-cloudcompare --project myproject.json --json cloud list
undefined

cloud convert

cloud convert

Convert a cloud from one format to another (format determined by file extension).
bash
undefined
将点云从一种格式转换为另一种(格式由文件扩展名决定)。
bash
undefined

LAS → PLY

LAS → PLY

cli-anything-cloudcompare cloud convert /data/scan.las /data/scan.ply
cli-anything-cloudcompare cloud convert /data/scan.las /data/scan.ply

PCD → LAS

PCD → LAS

cli-anything-cloudcompare cloud convert /data/cloud.pcd /data/cloud.las
undefined
cli-anything-cloudcompare cloud convert /data/cloud.pcd /data/cloud.las
undefined

cloud subsample

cloud subsample

Reduce the number of points using RANDOM, SPATIAL, or OCTREE method.
bash
undefined
使用RANDOM、SPATIAL或OCTREE方法减少点的数量。
bash
undefined

Random: keep 100 000 points

随机采样:保留100000个点

cli-anything-cloudcompare --project myproject.json cloud subsample 0
-o /data/sub_random.las -m random -n 100000
cli-anything-cloudcompare --project myproject.json cloud subsample 0
-o /data/sub_random.las -m random -n 100000

Spatial: minimum distance 0.05 m between points

空间采样:点之间最小距离0.05米

cli-anything-cloudcompare --project myproject.json cloud subsample 0
-o /data/sub_spatial.las -m spatial -n 0.05
cli-anything-cloudcompare --project myproject.json cloud subsample 0
-o /data/sub_spatial.las -m spatial -n 0.05

Octree: level 8

八叉树采样:层级8

cli-anything-cloudcompare --project myproject.json cloud subsample 0
-o /data/sub_octree.las -m octree -n 8 --add-to-project

Options: `-o/--output TEXT` (required), `-m/--method [random|spatial|octree]`, `-n/--param FLOAT`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud subsample 0
-o /data/sub_octree.las -m octree -n 8 --add-to-project

选项:`-o/--output TEXT`(必填),`-m/--method [random|spatial|octree]`,`-n/--param FLOAT`,`--add-to-project`

cloud crop

cloud crop

Crop a cloud to an axis-aligned bounding box.
bash
undefined
将点云裁剪到轴对齐的边界框内。
bash
undefined

Keep points inside the box

保留边界框内的点

cli-anything-cloudcompare --project myproject.json cloud crop 0
-o /data/cropped.las
--xmin 0.0 --ymin 0.0 --zmin 0.0
--xmax 10.0 --ymax 10.0 --zmax 5.0
cli-anything-cloudcompare --project myproject.json cloud crop 0
-o /data/cropped.las
--xmin 0.0 --ymin 0.0 --zmin 0.0
--xmax 10.0 --ymax 10.0 --zmax 5.0

Keep points OUTSIDE the box

保留边界框外的点

cli-anything-cloudcompare --project myproject.json cloud crop 0
-o /data/exterior.las
--xmin 0.0 --ymin 0.0 --zmin 0.0
--xmax 10.0 --ymax 10.0 --zmax 5.0 --outside

Options: `-o/--output TEXT` (required), `--xmin/ymin/zmin/xmax/ymax/zmax FLOAT` (all required), `--outside`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud crop 0
-o /data/exterior.las
--xmin 0.0 --ymin 0.0 --zmin 0.0
--xmax 10.0 --ymax 10.0 --zmax 5.0 --outside

选项:`-o/--output TEXT`(必填),`--xmin/ymin/zmin/xmax/ymax/zmax FLOAT`(均必填),`--outside`,`--add-to-project`

cloud normals

cloud normals

Compute surface normals via the octree method.
bash
undefined
通过八叉树方法计算表面法线。
bash
undefined

Compute normals at octree level 6

在八叉树层级6计算法线

cli-anything-cloudcompare --project myproject.json cloud normals 0
-o /data/with_normals.ply --level 6
cli-anything-cloudcompare --project myproject.json cloud normals 0
-o /data/with_normals.ply --level 6

Compute normals oriented toward +Z

计算朝向+Z轴的法线

cli-anything-cloudcompare --project myproject.json cloud normals 0
-o /data/with_normals.ply --level 6 --orientation plus_z --add-to-project

Options: `-o/--output TEXT` (required), `--level INTEGER` (1–10), `--orientation [plus_x|plus_y|plus_z|minus_x|minus_y|minus_z]`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud normals 0
-o /data/with_normals.ply --level 6 --orientation plus_z --add-to-project

选项:`-o/--output TEXT`(必填),`--level INTEGER`(1–10),`--orientation [plus_x|plus_y|plus_z|minus_x|minus_y|minus_z]`,`--add-to-project`

cloud invert-normals

cloud invert-normals

Flip all normal vectors in the cloud.
bash
cli-anything-cloudcompare --project myproject.json cloud invert-normals 0 \
  -o /data/flipped_normals.ply --add-to-project
Options:
-o/--output TEXT
(required),
--add-to-project
翻转点云中的所有法线向量。
bash
cli-anything-cloudcompare --project myproject.json cloud invert-normals 0 \
  -o /data/flipped_normals.ply --add-to-project
选项:
-o/--output TEXT
(必填),
--add-to-project

cloud filter-sor

cloud filter-sor

Statistical Outlier Removal — removes isolated noise points.
bash
undefined
统计离群点移除——移除孤立的噪声点。
bash
undefined

Default parameters (k=6 neighbours, 1.0 std ratio)

默认参数(k=6个邻域点,1.0标准差比率)

cli-anything-cloudcompare --project myproject.json cloud filter-sor 0
-o /data/denoised.las
cli-anything-cloudcompare --project myproject.json cloud filter-sor 0
-o /data/denoised.las

Custom parameters

自定义参数

cli-anything-cloudcompare --project myproject.json cloud filter-sor 0
-o /data/denoised.las --nb-points 12 --std-ratio 2.0 --add-to-project

Options: `-o/--output TEXT` (required), `--nb-points INTEGER`, `--std-ratio FLOAT`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud filter-sor 0
-o /data/denoised.las --nb-points 12 --std-ratio 2.0 --add-to-project

选项:`-o/--output TEXT`(必填),`--nb-points INTEGER`,`--std-ratio FLOAT`,`--add-to-project`

cloud noise-filter

cloud noise-filter

Remove noisy points using the PCL noise filter (KNN or radius mode).
bash
undefined
使用PCL噪声过滤器(KNN或半径模式)移除噪声点。
bash
undefined

KNN mode (default)

KNN模式(默认)

cli-anything-cloudcompare --project myproject.json cloud noise-filter 0
-o /data/clean.las --knn 8 --noisiness 1.0
cli-anything-cloudcompare --project myproject.json cloud noise-filter 0
-o /data/clean.las --knn 8 --noisiness 1.0

Radius mode

半径模式

cli-anything-cloudcompare --project myproject.json cloud noise-filter 0
-o /data/clean.las --radius 0.1 --use-radius --add-to-project

Options: `-o/--output TEXT` (required), `--knn INTEGER`, `--noisiness FLOAT`, `--radius FLOAT`, `--use-radius`, `--absolute`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud noise-filter 0
-o /data/clean.las --radius 0.1 --use-radius --add-to-project

选项:`-o/--output TEXT`(必填),`--knn INTEGER`,`--noisiness FLOAT`,`--radius FLOAT`,`--use-radius`,`--absolute`,`--add-to-project`

cloud filter-csf

cloud filter-csf

Ground filtering using the Cloth Simulation Filter (CSF) algorithm. Separates ground from off-ground points (buildings, vegetation).
bash
undefined
使用布料模拟过滤(CSF)算法进行地面过滤。将地面点与非地面点(建筑物、植被)分离。
bash
undefined

Extract ground only — mixed terrain

仅提取地面——混合地形

cli-anything-cloudcompare --project myproject.json cloud filter-csf 0
--ground /data/ground.las --scene relief
cli-anything-cloudcompare --project myproject.json cloud filter-csf 0
--ground /data/ground.las --scene relief

Split ground + off-ground — urban scene

分离地面+非地面——城市场景

cli-anything-cloudcompare --project myproject.json cloud filter-csf 0
--ground /data/ground.las
--offground /data/buildings.las
--scene flat --cloth-resolution 0.5 --class-threshold 0.3
cli-anything-cloudcompare --project myproject.json cloud filter-csf 0
--ground /data/ground.las
--offground /data/buildings.las
--scene flat --cloth-resolution 0.5 --class-threshold 0.3

Steep forested slope with slope post-processing

带坡度后处理的陡峭森林斜坡

cli-anything-cloudcompare --project myproject.json cloud filter-csf 0
--ground /data/terrain.las --scene slope --proc-slope --add-to-project

Options: `-g/--ground TEXT` (required), `-u/--offground TEXT`, `--scene [slope|relief|flat]`, `--cloth-resolution FLOAT`, `--class-threshold FLOAT`, `--max-iteration INTEGER`, `--proc-slope`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud filter-csf 0
--ground /data/terrain.las --scene slope --proc-slope --add-to-project

选项:`-g/--ground TEXT`(必填),`-u/--offground TEXT`,`--scene [slope|relief|flat]`,`--cloth-resolution FLOAT`,`--class-threshold FLOAT`,`--max-iteration INTEGER`,`--proc-slope`,`--add-to-project`

cloud filter-sf

cloud filter-sf

Filter a cloud by scalar field value range (keep points where SF ∈ [min, max]).
bash
undefined
按标量字段值范围过滤点云(保留SF ∈ [min, max]的点)。
bash
undefined

Keep points with SF value between 10 and 50

保留SF值在10到50之间的点

cli-anything-cloudcompare --project myproject.json cloud filter-sf 0
-o /data/filtered.las --min 10.0 --max 50.0
cli-anything-cloudcompare --project myproject.json cloud filter-sf 0
-o /data/filtered.las --min 10.0 --max 50.0

Filter using a specific SF index

使用特定SF索引进行过滤

cli-anything-cloudcompare --project myproject.json cloud filter-sf 0
-o /data/filtered.las --min 0.0 --max 1.5 --sf-index 2 --add-to-project

Options: `-o/--output TEXT` (required), `--min FLOAT` (required), `--max FLOAT` (required), `--sf-index INTEGER`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud filter-sf 0
-o /data/filtered.las --min 0.0 --max 1.5 --sf-index 2 --add-to-project

选项:`-o/--output TEXT`(必填),`--min FLOAT`(必填),`--max FLOAT`(必填),`--sf-index INTEGER`,`--add-to-project`

cloud sf-from-coord

cloud sf-from-coord

Convert a coordinate axis (X/Y/Z) to a scalar field. Commonly used to create a height (Z) scalar field.
bash
undefined
将坐标轴(X/Y/Z)转换为标量字段。通常用于创建高度(Z)标量字段。
bash
undefined

Create Z scalar field (height)

创建Z标量字段(高度)

cli-anything-cloudcompare --project myproject.json cloud sf-from-coord 0
-o /data/with_z_sf.las --dim z --add-to-project
cli-anything-cloudcompare --project myproject.json cloud sf-from-coord 0
-o /data/with_z_sf.las --dim z --add-to-project

Create X scalar field with a specific active index

创建指定活动索引的X标量字段

cli-anything-cloudcompare --project myproject.json cloud sf-from-coord 0
-o /data/with_x_sf.las --dim x --sf-index 0

Options: `-o/--output TEXT` (required), `--dim [x|y|z]` (default: z), `--sf-index INTEGER`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud sf-from-coord 0
-o /data/with_x_sf.las --dim x --sf-index 0

选项:`-o/--output TEXT`(必填),`--dim [x|y|z]`(默认:z),`--sf-index INTEGER`,`--add-to-project`

cloud sf-filter-z

cloud sf-filter-z

Convenience command: convert Z → scalar field and filter by height range in one step.
bash
undefined
便捷命令:一步完成Z→标量字段转换和高度范围过滤。
bash
undefined

Extract points between z=1.0 m and z=2.5 m

提取z=1.0米到z=2.5米之间的点

cli-anything-cloudcompare --project myproject.json cloud sf-filter-z 0
-o /data/slice.las --min 1.0 --max 2.5 --add-to-project
cli-anything-cloudcompare --project myproject.json cloud sf-filter-z 0
-o /data/slice.las --min 1.0 --max 2.5 --add-to-project

Only apply upper bound

仅应用上限

cli-anything-cloudcompare --project myproject.json cloud sf-filter-z 0
-o /data/below_5m.las --max 5.0

Options: `-o/--output TEXT` (required), `--min FLOAT`, `--max FLOAT`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud sf-filter-z 0
-o /data/below_5m.las --max 5.0

选项:`-o/--output TEXT`(必填),`--min FLOAT`,`--max FLOAT`,`--add-to-project`

cloud sf-to-rgb

cloud sf-to-rgb

Convert the active scalar field to RGB colours.
bash
cli-anything-cloudcompare --project myproject.json cloud sf-to-rgb 0 \
  -o /data/coloured.ply --add-to-project
Options:
-o/--output TEXT
(required),
--add-to-project
将活动标量字段转换为RGB颜色。
bash
cli-anything-cloudcompare --project myproject.json cloud sf-to-rgb 0 \
  -o /data/coloured.ply --add-to-project
选项:
-o/--output TEXT
(必填),
--add-to-project

cloud rgb-to-sf

cloud rgb-to-sf

Convert RGB colours to a scalar field (luminance value).
bash
cli-anything-cloudcompare --project myproject.json cloud rgb-to-sf 0 \
  -o /data/luminance.las --add-to-project
Options:
-o/--output TEXT
(required),
--add-to-project
将RGB颜色转换为标量字段(亮度值)。
bash
cli-anything-cloudcompare --project myproject.json cloud rgb-to-sf 0 \
  -o /data/luminance.las --add-to-project
选项:
-o/--output TEXT
(必填),
--add-to-project

cloud curvature

cloud curvature

Compute curvature scalar field (MEAN or GAUSS).
bash
undefined
计算曲率标量字段(MEAN或GAUSS)。
bash
undefined

Mean curvature with radius 0.5 m

半径0.5米的平均曲率

cli-anything-cloudcompare --project myproject.json cloud curvature 0
-o /data/curvature.las --type mean --radius 0.5
cli-anything-cloudcompare --project myproject.json cloud curvature 0
-o /data/curvature.las --type mean --radius 0.5

Gaussian curvature

高斯曲率

cli-anything-cloudcompare --project myproject.json cloud curvature 0
-o /data/curvature.las --type gauss --radius 0.5 --add-to-project

Options: `-o/--output TEXT` (required), `--type [mean|gauss]`, `-r/--radius FLOAT`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud curvature 0
-o /data/curvature.las --type gauss --radius 0.5 --add-to-project

选项:`-o/--output TEXT`(必填),`--type [mean|gauss]`,`-r/--radius FLOAT`,`--add-to-project`

cloud roughness

cloud roughness

Compute roughness scalar field (deviation from local best-fit plane).
bash
cli-anything-cloudcompare --project myproject.json cloud roughness 0 \
  -o /data/roughness.las --radius 0.2 --add-to-project
Options:
-o/--output TEXT
(required),
-r/--radius FLOAT
,
--add-to-project
计算粗糙度标量字段(与局部最佳拟合平面的偏差)。
bash
cli-anything-cloudcompare --project myproject.json cloud roughness 0 \
  -o /data/roughness.las --radius 0.2 --add-to-project
选项:
-o/--output TEXT
(必填),
-r/--radius FLOAT
--add-to-project

cloud density

cloud density

Compute point density scalar field.
bash
undefined
计算点密度标量字段。
bash
undefined

KNN density

KNN密度

cli-anything-cloudcompare --project myproject.json cloud density 0
-o /data/density.las --type knn --radius 0.5
cli-anything-cloudcompare --project myproject.json cloud density 0
-o /data/density.las --type knn --radius 0.5

Surface density

表面密度

cli-anything-cloudcompare --project myproject.json cloud density 0
-o /data/density.las --type surface --radius 1.0 --add-to-project

Options: `-o/--output TEXT` (required), `-r/--radius FLOAT`, `--type [knn|surface|volume]`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json cloud density 0
-o /data/density.las --type surface --radius 1.0 --add-to-project

选项:`-o/--output TEXT`(必填),`-r/--radius FLOAT`,`--type [knn|surface|volume]`,`--add-to-project`

cloud segment-cc

cloud segment-cc

Segment cloud into connected components (clusters). Each component is saved as a separate file.
bash
undefined
将点云分割为连通组件(簇)。每个组件保存为单独的文件。
bash
undefined

Segment with octree level 8, minimum 100 points per component

八叉树层级8,每个组件最少100个点

cli-anything-cloudcompare --project myproject.json cloud segment-cc 0
-o /data/components/ --octree-level 8 --min-points 100
cli-anything-cloudcompare --project myproject.json cloud segment-cc 0
-o /data/components/ --octree-level 8 --min-points 100

Save components as PLY files

将组件保存为PLY文件

cli-anything-cloudcompare --project myproject.json cloud segment-cc 0
-o /data/components/ --octree-level 6 --min-points 50 --fmt ply

Options: `-o/--output-dir TEXT` (required), `--octree-level INTEGER`, `--min-points INTEGER`, `--fmt TEXT`
cli-anything-cloudcompare --project myproject.json cloud segment-cc 0
-o /data/components/ --octree-level 6 --min-points 50 --fmt ply

选项:`-o/--output-dir TEXT`(必填),`--octree-level INTEGER`,`--min-points INTEGER`,`--fmt TEXT`

cloud merge

cloud merge

Merge all clouds in the project into a single cloud.
bash
cli-anything-cloudcompare --project myproject.json cloud merge \
  -o /data/merged.las --add-to-project
Options:
-o/--output TEXT
(required),
--add-to-project
将项目中所有点云合并为单个点云。
bash
cli-anything-cloudcompare --project myproject.json cloud merge \
  -o /data/merged.las --add-to-project
选项:
-o/--output TEXT
(必填),
--add-to-project

cloud mesh-delaunay

cloud mesh-delaunay

Build a 2.5-D Delaunay triangulation mesh from a cloud.
bash
undefined
从点云构建2.5维Delaunay三角化网格。
bash
undefined

Basic Delaunay mesh

基础Delaunay网格

cli-anything-cloudcompare --project myproject.json cloud mesh-delaunay 0
-o /data/surface.obj
cli-anything-cloudcompare --project myproject.json cloud mesh-delaunay 0
-o /data/surface.obj

Best-fit plane with max edge length limit

带最大边长限制的最佳拟合平面

cli-anything-cloudcompare --project myproject.json cloud mesh-delaunay 0
-o /data/surface.ply --best-fit --max-edge-length 2.0 --add-to-project

Options: `-o/--output TEXT` (required), `--best-fit`, `--max-edge-length FLOAT`, `--add-to-project`

---
cli-anything-cloudcompare --project myproject.json cloud mesh-delaunay 0
-o /data/surface.ply --best-fit --max-edge-length 2.0 --add-to-project

选项:`-o/--output TEXT`(必填),`--best-fit`,`--max-edge-length FLOAT`,`--add-to-project`

---

4. mesh — Mesh Operations (3 commands)

4. mesh — 网格操作(3条命令)

mesh add

mesh add

Add a mesh file to the project.
bash
cli-anything-cloudcompare --project myproject.json mesh add /data/model.obj
将网格文件添加到项目中。
bash
cli-anything-cloudcompare --project myproject.json mesh add /data/model.obj

Add with label

添加带标签的网格

cli-anything-cloudcompare --project myproject.json mesh add /data/model.ply -l "building model"

Options: `-l/--label TEXT`
cli-anything-cloudcompare --project myproject.json mesh add /data/model.ply -l "building model"

选项:`-l/--label TEXT`

mesh list

mesh list

List all meshes in the project.
bash
cli-anything-cloudcompare --project myproject.json mesh list
列出项目中所有的网格。
bash
cli-anything-cloudcompare --project myproject.json mesh list

JSON output

JSON格式输出

cli-anything-cloudcompare --project myproject.json --json mesh list
undefined
cli-anything-cloudcompare --project myproject.json --json mesh list
undefined

mesh sample

mesh sample

Sample a point cloud from a mesh surface.
bash
undefined
从网格表面采样点云。
bash
undefined

Sample 50 000 points from mesh at index 0

从索引0的网格采样50000个点

cli-anything-cloudcompare --project myproject.json mesh sample 0
-o /data/sampled.las -n 50000
cli-anything-cloudcompare --project myproject.json mesh sample 0
-o /data/sampled.las -n 50000

Add sampled cloud back to project

将采样的点云添加回项目

cli-anything-cloudcompare --project myproject.json mesh sample 0
-o /data/sampled.las -n 100000 --add-to-project

Options: `-o/--output TEXT` (required), `-n/--count INTEGER`, `--add-to-project`

---
cli-anything-cloudcompare --project myproject.json mesh sample 0
-o /data/sampled.las -n 100000 --add-to-project

选项:`-o/--output TEXT`(必填),`-n/--count INTEGER`,`--add-to-project`

---

5. distance — Distance Computation (2 commands)

5. distance — 距离计算(2条命令)

distance c2c

distance c2c

Compute cloud-to-cloud distances. Adds a distance scalar field to the compared cloud.
bash
undefined
计算点云到点云的距离。为对比点云添加距离标量字段。
bash
undefined

Compare cloud 1 to reference cloud 0

将点云1与参考点云0对比

cli-anything-cloudcompare --project myproject.json distance c2c
--compare 1 --reference 0 -o /data/distances.las
cli-anything-cloudcompare --project myproject.json distance c2c
--compare 1 --reference 0 -o /data/distances.las

Split into X/Y/Z components at octree level 8

在八叉树层级8下拆分为X/Y/Z分量

cli-anything-cloudcompare --project myproject.json distance c2c
--compare 1 --reference 0 -o /data/distances.las
--split-xyz --octree-level 8 --add-to-project

Options: `--compare TEXT` (required), `--reference TEXT` (required), `-o/--output TEXT` (required), `--split-xyz`, `--octree-level INTEGER`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json distance c2c
--compare 1 --reference 0 -o /data/distances.las
--split-xyz --octree-level 8 --add-to-project

选项:`--compare TEXT`(必填),`--reference TEXT`(必填),`-o/--output TEXT`(必填),`--split-xyz`,`--octree-level INTEGER`,`--add-to-project`

distance c2m

distance c2m

Compute cloud-to-mesh distances. Adds a distance scalar field to the cloud.
bash
undefined
计算点云到网格的距离。为点云添加距离标量字段。
bash
undefined

Basic cloud-to-mesh distance

基础点云到网格距离计算

cli-anything-cloudcompare --project myproject.json distance c2m
--cloud 0 --mesh 0 -o /data/c2m_dist.las
cli-anything-cloudcompare --project myproject.json distance c2m
--cloud 0 --mesh 0 -o /data/c2m_dist.las

With flipped normals and unsigned distances

翻转法线并计算无符号距离

cli-anything-cloudcompare --project myproject.json distance c2m
--cloud 0 --mesh 0 -o /data/c2m_dist.las
--flip-normals --unsigned --add-to-project

Options: `--cloud INTEGER` (required), `--mesh INTEGER` (required), `-o/--output TEXT` (required), `--flip-normals`, `--unsigned`, `--add-to-project`

---
cli-anything-cloudcompare --project myproject.json distance c2m
--cloud 0 --mesh 0 -o /data/c2m_dist.las
--flip-normals --unsigned --add-to-project

选项:`--cloud INTEGER`(必填),`--mesh INTEGER`(必填),`-o/--output TEXT`(必填),`--flip-normals`,`--unsigned`,`--add-to-project`

---

6. transform — Transformations and Registration (2 commands)

6. transform — 变换与配准(2条命令)

transform apply

transform apply

Apply a 4×4 rigid-body transformation matrix to a cloud.
bash
undefined
将4×4刚体变换矩阵应用到点云。
bash
undefined

Apply a transformation matrix from file

应用文件中的变换矩阵

cli-anything-cloudcompare --project myproject.json transform apply 0
-o /data/transformed.las -m /data/matrix.txt
cli-anything-cloudcompare --project myproject.json transform apply 0
-o /data/transformed.las -m /data/matrix.txt

Apply the inverse transformation

应用逆变换

cli-anything-cloudcompare --project myproject.json transform apply 0
-o /data/transformed.las -m /data/matrix.txt --inverse --add-to-project

The matrix file must contain 4 rows of 4 space-separated values:
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

Options: `-o/--output TEXT` (required), `-m/--matrix TEXT` (required), `--inverse`, `--add-to-project`
cli-anything-cloudcompare --project myproject.json transform apply 0
-o /data/transformed.las -m /data/matrix.txt --inverse --add-to-project

矩阵文件必须包含4行,每行4个空格分隔的值:
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

选项:`-o/--output TEXT`(必填),`-m/--matrix TEXT`(必填),`--inverse`,`--add-to-project`

transform icp

transform icp

Run ICP (Iterative Closest Point) registration to align one cloud to another.
bash
undefined
运行ICP(迭代最近点)配准以将一个点云对齐到另一个点云。
bash
undefined

Basic ICP alignment

基础ICP对齐

cli-anything-cloudcompare --project myproject.json transform icp
--aligned 1 --reference 0 -o /data/aligned.las
cli-anything-cloudcompare --project myproject.json transform icp
--aligned 1 --reference 0 -o /data/aligned.las

ICP with overlap and iteration control

带重叠度和迭代控制的ICP

cli-anything-cloudcompare --project myproject.json transform icp
--aligned 1 --reference 0 -o /data/aligned.las
--max-iter 50 --overlap 80 --min-error-diff 1e-6 --add-to-project

Options: `--aligned INTEGER` (required), `--reference INTEGER` (required), `-o/--output TEXT` (required), `--max-iter INTEGER`, `--min-error-diff FLOAT`, `--overlap FLOAT`, `--add-to-project`

---
cli-anything-cloudcompare --project myproject.json transform icp
--aligned 1 --reference 0 -o /data/aligned.las
--max-iter 50 --overlap 80 --min-error-diff 1e-6 --add-to-project

选项:`--aligned INTEGER`(必填),`--reference INTEGER`(必填),`-o/--output TEXT`(必填),`--max-iter INTEGER`,`--min-error-diff FLOAT`,`--overlap FLOAT`,`--add-to-project`

---

7. export — Export Clouds and Meshes (4 commands)

7. export — 导出点云和网格(4条命令)

export formats

export formats

List all available export format presets.
bash
cli-anything-cloudcompare export formats
列出所有可用的导出格式预设。
bash
cli-anything-cloudcompare export formats

JSON output

JSON格式输出

cli-anything-cloudcompare --json export formats
undefined
cli-anything-cloudcompare --json export formats
undefined

export cloud

export cloud

Export a cloud to a target format.
bash
undefined
将点云导出为目标格式。
bash
undefined

Export cloud at index 0 as LAS

将索引0的点云导出为LAS

cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las

Export as PLY using preset

使用预设导出为PLY

cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.ply -f ply
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.ply -f ply

Overwrite if file exists

如果文件存在则覆盖

cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las -f las --overwrite

Supported presets: `las`, `laz`, `ply`, `pcd`, `xyz`, `asc`, `csv`, `bin`, `e57`

Options: `-f/--preset TEXT`, `--overwrite`
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las -f las --overwrite

支持的预设:`las`, `laz`, `ply`, `pcd`, `xyz`, `asc`, `csv`, `bin`, `e57`

选项:`-f/--preset TEXT`, `--overwrite`

export mesh

export mesh

Export a mesh to a target format.
bash
undefined
将网格导出为目标格式。
bash
undefined

Export mesh at index 0 as OBJ

将索引0的网格导出为OBJ

cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.obj
cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.obj

Export as STL

导出为STL

cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.stl -f stl --overwrite

Supported presets: `obj`, `stl`, `ply`, `bin`

Options: `-f/--preset TEXT`, `--overwrite`
cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.stl -f stl --overwrite

支持的预设:`obj`, `stl`, `ply`, `bin`

选项:`-f/--preset TEXT`, `--overwrite`

export batch

export batch

Batch export all project clouds to a directory.
bash
undefined
批量导出项目中所有点云到指定目录。
bash
undefined

Export all clouds as LAS

将所有点云导出为LAS

cli-anything-cloudcompare --project myproject.json export batch
-d /data/exports/ -f las
cli-anything-cloudcompare --project myproject.json export batch
-d /data/exports/ -f las

Overwrite existing files

覆盖现有文件

cli-anything-cloudcompare --project myproject.json export batch
-d /data/exports/ -f ply --overwrite

Options: `-d/--output-dir TEXT` (required), `-f/--preset TEXT`, `--overwrite`

---
cli-anything-cloudcompare --project myproject.json export batch
-d /data/exports/ -f ply --overwrite

选项:`-d/--output-dir TEXT`(必填),`-f/--preset TEXT`, `--overwrite`

---

8. info — Installation Info (1 command)

8. info — 安装信息(1条命令)

Show CloudCompare installation path and version.
bash
cli-anything-cloudcompare info
显示CloudCompare的安装路径和版本。
bash
cli-anything-cloudcompare info

JSON output

JSON格式输出

cli-anything-cloudcompare --json info

---
cli-anything-cloudcompare --json info

---

9. repl — Interactive REPL (1 command)

9. repl — 交互式REPL(1条命令)

Start the interactive REPL session with history and undo support.
bash
undefined
启动带历史记录和撤销支持的交互式REPL会话。
bash
undefined

Start REPL without a project

不加载项目启动REPL

cli-anything-cloudcompare repl
cli-anything-cloudcompare repl

Start REPL with an existing project

加载现有项目启动REPL

cli-anything-cloudcompare repl -p myproject.json
cli-anything-cloudcompare repl -p myproject.json

Equivalent: run without subcommand

等效方式:不指定子命令运行

cli-anything-cloudcompare --project myproject.json

Options: `-p/--project TEXT`

Inside the REPL, type `help` to list available commands or `session undo` to revert the last operation.

---
cli-anything-cloudcompare --project myproject.json

选项:`-p/--project TEXT`

在REPL中,输入`help`列出可用命令,或输入`session undo`撤销最后一次操作。

---

Supported File Formats

支持的文件格式

FormatExtensionReadWriteNotes
LAS
.las
LiDAR standard, supports intensity/RGB
LAZ
.laz
Compressed LAS
PLY
.ply
ASCII or binary
PCD
.pcd
PCL format
XYZ
.xyz
Plain text XYZ
ASC
.asc
ASCII with header
CSV
.csv
Comma-separated
E57
.e57
ASTM scanner exchange
BIN
.bin
CloudCompare native binary
OBJ
.obj
Mesh (Wavefront)
STL
.stl
Mesh (3D printing)

格式扩展名读取写入说明
LAS
.las
LiDAR标准格式,支持强度/RGB
LAZ
.laz
压缩LAS格式
PLY
.ply
ASCII或二进制格式
PCD
.pcd
PCL格式
XYZ
.xyz
纯文本XYZ格式
ASC
.asc
带头部的ASCII格式
CSV
.csv
逗号分隔格式
E57
.e57
ASTM扫描仪交换格式
BIN
.bin
CloudCompare原生二进制格式
OBJ
.obj
网格(Wavefront)格式
STL
.stl
网格(3D打印)格式

Typical Workflows

典型工作流

Workflow 1: LiDAR Pre-processing Pipeline

工作流1:LiDAR预处理流程

bash
P=myproject.json
bash
P=myproject.json

1. Create project and load scan

1. 创建项目并加载扫描数据

cli-anything-cloudcompare project new -o $P cli-anything-cloudcompare --project $P cloud add /data/scan.las cli-anything-cloudcompare --project $P cloud list # note index → 0
cli-anything-cloudcompare project new -o $P cli-anything-cloudcompare --project $P cloud add /data/scan.las cli-anything-cloudcompare --project $P cloud list # 记录索引 → 0

2. Denoise

2. 去噪

cli-anything-cloudcompare --project $P cloud filter-sor 0
-o /data/denoised.las --nb-points 6 --std-ratio 1.0 --add-to-project
cli-anything-cloudcompare --project $P cloud filter-sor 0
-o /data/denoised.las --nb-points 6 --std-ratio 1.0 --add-to-project

3. Subsample to 5 cm grid

3. 按5厘米网格下采样

cli-anything-cloudcompare --project $P cloud subsample 1
-o /data/subsampled.las -m spatial -n 0.05 --add-to-project
cli-anything-cloudcompare --project $P cloud subsample 1
-o /data/subsampled.las -m spatial -n 0.05 --add-to-project

4. Extract ground plane (CSF)

4. 提取地面(CSF算法)

cli-anything-cloudcompare --project $P cloud filter-csf 2
--ground /data/ground.las --offground /data/objects.las
--scene relief --add-to-project
cli-anything-cloudcompare --project $P cloud filter-csf 2
--ground /data/ground.las --offground /data/objects.las
--scene relief --add-to-project

5. Export result

5. 导出结果

cli-anything-cloudcompare --project $P export cloud 3 /data/ground_final.las -f las --overwrite
undefined
cli-anything-cloudcompare --project $P export cloud 3 /data/ground_final.las -f las --overwrite
undefined

Workflow 2: Change Detection Between Two Scans

工作流2:两次扫描之间的变化检测

bash
P=compare.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/scan_2023.las   # index 0
cli-anything-cloudcompare --project $P cloud add /data/scan_2024.las   # index 1
bash
P=compare.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/scan_2023.las   # 索引0
cli-anything-cloudcompare --project $P cloud add /data/scan_2024.las   # 索引1

ICP alignment (align 2024 to 2023)

ICP对齐(将2024年扫描对齐到2023年)

cli-anything-cloudcompare --project $P transform icp
--aligned 1 --reference 0 -o /data/aligned_2024.las
--overlap 90 --add-to-project # index 2
cli-anything-cloudcompare --project $P transform icp
--aligned 1 --reference 0 -o /data/aligned_2024.las
--overlap 90 --add-to-project # 索引2

Cloud-to-cloud distance

点云到点云距离计算

cli-anything-cloudcompare --project $P distance c2c
--compare 2 --reference 0 -o /data/change_map.las --add-to-project
cli-anything-cloudcompare --project $P distance c2c
--compare 2 --reference 0 -o /data/change_map.las --add-to-project

Export as LAS with distance scalar field

导出带距离标量字段的LAS文件

cli-anything-cloudcompare --project $P export cloud 3 /data/change_map_final.las --overwrite
undefined
cli-anything-cloudcompare --project $P export cloud 3 /data/change_map_final.las --overwrite
undefined

Workflow 3: Height Slice Extraction

工作流3:高度切片提取

bash
P=slice.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/building.las
bash
P=slice.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/building.las

Extract points at 2–3 m height (floor level)

提取高度2–3米的点(楼层)

cli-anything-cloudcompare --project $P cloud sf-filter-z 0
-o /data/floor_slice.las --min 2.0 --max 3.0 --add-to-project
cli-anything-cloudcompare --project $P cloud sf-filter-z 0
-o /data/floor_slice.las --min 2.0 --max 3.0 --add-to-project

Export

导出

cli-anything-cloudcompare --project $P export cloud 1 /data/floor_slice_out.las --overwrite
undefined
cli-anything-cloudcompare --project $P export cloud 1 /data/floor_slice_out.las --overwrite
undefined

Workflow 4: Surface Reconstruction

工作流4:表面重建

bash
P=mesh.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/terrain.las
bash
P=mesh.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/terrain.las

Compute normals

计算法线

cli-anything-cloudcompare --project $P cloud normals 0
-o /data/with_normals.ply --level 6 --orientation plus_z --add-to-project
cli-anything-cloudcompare --project $P cloud normals 0
-o /data/with_normals.ply --level 6 --orientation plus_z --add-to-project

Delaunay mesh

Delaunay网格构建

cli-anything-cloudcompare --project $P cloud mesh-delaunay 1
-o /data/terrain_mesh.obj --max-edge-length 1.0 --add-to-project
cli-anything-cloudcompare --project $P cloud mesh-delaunay 1
-o /data/terrain_mesh.obj --max-edge-length 1.0 --add-to-project

Export mesh

导出网格

cli-anything-cloudcompare --project $P export mesh 0 /data/terrain_mesh_final.obj --overwrite

---
cli-anything-cloudcompare --project $P export mesh 0 /data/terrain_mesh_final.obj --overwrite

---

Error Handling

错误处理

Exit CodeMeaning
0
Success
1
General error (see stderr for details)
2
Invalid arguments
Common errors:
bash
undefined
退出码含义
0
成功
1
通用错误(查看stderr获取详情)
2
参数无效
常见错误:
bash
undefined

CloudCompare not found

CloudCompare未找到

→ Install CloudCompare; check
cli-anything-cloudcompare info

→ 安装CloudCompare;运行
cli-anything-cloudcompare info
检查

Index out of range

索引超出范围

→ Run
cloud list
or
mesh list
to confirm valid indices

→ 运行
cloud list
mesh list
确认有效索引

File already exists (no --overwrite)

文件已存在(未添加--overwrite)

→ Add --overwrite flag to export commands

→ 在导出命令中添加--overwrite参数

fcntl not available (Windows)

fcntl不可用(Windows)

→ File locking is skipped automatically; project save still works

→ 文件锁定会自动跳过;项目保存仍可正常工作


---

---

For AI Agents

面向AI Agent的使用建议

  1. Always use
    --json
    flag
    for parseable output
  2. Check return codes — 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file arguments
  5. Verify output files exist after export operations
  6. Chain with
    --add-to-project
    to build multi-step pipelines without re-loading files
  7. Use
    cloud list --json
    to discover valid cloud indices before each operation
  8. Use
    export formats --json
    to discover available format presets
  1. 始终使用
    --json
    参数
    以获得可解析的输出
  2. 检查返回码——0表示成功,非0表示错误
  3. 解析stderr获取失败时的错误信息
  4. 所有文件参数使用绝对路径
  5. 导出操作后验证输出文件是否存在
  6. 结合
    --add-to-project
    参数
    构建多步骤流程,无需重新加载文件
  7. **使用
    cloud list --json
    **在每次操作前获取有效的点云索引
  8. **使用
    export formats --json
    **查看可用的格式预设

Version

版本信息

ComponentVersion
cli-anything-cloudcompare1.0.0
CloudCompare (tested)2.13.2
Python (minimum)3.10
组件版本
cli-anything-cloudcompare1.0.0
CloudCompare(测试兼容)2.13.2
Python(最低要求)3.10