mcpField
C
cli-anything-cloudcompare

cli-anything-cloudcompare

github.com/hkudsデータ・データベース57.6k486 回インストール5 週間前に更新
リポジトリ

cli-anything-cloudcompare について

cli-anything-cloudcompareは、オープンソースの点群・メッシュ処理ソフトウェアCloudCompareを操作する、エージェント向けコマンドラインツールです。プロジェクトやセッションの管理と、多様な点群処理を組み合わせてデータ処理を行えます。

主な機能

  1. 01プロジェクトファイルの作成と管理
  2. 02セッション保存と操作履歴の確認
  3. 03点群の変換、切り抜き、間引き
  4. 04ノイズ除去と地面点の分類
  5. 05スカラーフィールドと点群指標の計算
  6. 06点群の結合とメッシュの生成

活用シーン

  1. 01点群スキャンのクリーニングとフィルタリング
  2. 02点群データの別形式への変換
  3. 03地面点や高さ範囲の抽出
  4. 04点群特性の分析とメッシュ作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-cloudcompare

インストール後、Claude Code で/cli-anything-cloudcompareを入力して読み込まれたか確認します。

詳細

cli-anything-cloudcompare

CloudCompare 向けのエージェントフレンドリーなコマンドラインハーネスです。CloudCompare はオープンソースの 3D 点群・メッシュ処理ソフトウェアです。

9 つのグループにまたがる 41 コマンド。

インストール

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)

グローバルオプション

これらのオプションはサブコマンドの前に配置する必要があります:

cli-anything-cloudcompare [--project FILE] [--json] COMMAND [ARGS]...
オプション説明
-p, --project TEXTプロジェクト JSON ファイルへのパス
--json結果を JSON として出力 (エージェントによる利用向け)

コマンドグループ

1. project — プロジェクト管理 (3 コマンド)
project new

新しい空のプロジェクトファイルを作成します。

# Create a project with default name
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"

# JSON output for agents
cli-anything-cloudcompare --json project new -o myproject.json

オプション: -o/--output TEXT (必須)、-n/--name TEXT

project info

プロジェクト情報と読み込まれたエンティティを表示します。

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

# JSON output
cli-anything-cloudcompare --project myproject.json --json project info
project status

プロジェクトの簡単なステータス (クラウド数、メッシュ数、最後の操作) を表示します。

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

2. session — セッション管理 (4 コマンド)
session save

現在のプロジェクト状態をディスクに保存します。

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

最近の操作履歴を表示します。

# Show last 10 operations (default)
cli-anything-cloudcompare --project myproject.json session history

# Show last 5 operations
cli-anything-cloudcompare --project myproject.json session history -n 5

オプション: -n/--last INTEGER

session set-format

今後の操作におけるデフォルトのエクスポート形式を更新します。

# Set default cloud export to LAS
cli-anything-cloudcompare --project myproject.json session set-format --cloud-fmt LAS --cloud-ext las

# Set default mesh export to 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

オプション: --cloud-fmt TEXT、--cloud-ext TEXT、--mesh-fmt TEXT、--mesh-ext TEXT

session undo

履歴から最後の操作を削除します (ソフト undo — 出力ファイルは削除されません)。

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

3. cloud — 点群操作 (21 コマンド)

すべての cloud コマンドは CLOUD_INDEX (cloud list で得られる 0 始まりの整数) を受け取り、ほとんどのコマンドは出力をプロジェクトに登録し直す --add-to-project を受け付けます。

cloud add

点群ファイルをプロジェクトに追加します。

# Add a LAS file
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"

オプション: -l/--label TEXT

cloud list

現在プロジェクト内にあるすべてのクラウドを一覧表示します。

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

# JSON output for parsing indices
cli-anything-cloudcompare --project myproject.json --json cloud list
cloud convert

クラウドをある形式から別の形式に変換します (形式はファイル拡張子によって決まります)。

# LAS → PLY
cli-anything-cloudcompare cloud convert /data/scan.las /data/scan.ply

# PCD → LAS
cli-anything-cloudcompare cloud convert /data/cloud.pcd /data/cloud.las
cloud subsample

RANDOM、SPATIAL、または OCTREE メソッドを使用して点の数を削減します。

# Random: keep 100 000 points
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
cli-anything-cloudcompare --project myproject.json cloud subsample 0 \
  -o /data/sub_spatial.las -m spatial -n 0.05

# Octree: level 8
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

クラウドを軸に沿ったバウンディングボックスに切り抜きます。

# 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

# 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

オプション: -o/--output TEXT (必須)、--xmin/ymin/zmin/xmax/ymax/zmax FLOAT (すべて必須)、--outside、--add-to-project

cloud normals

オクツリーメソッドでサーフェス法線を計算します。

# Compute normals at octree level 6
cli-anything-cloudcompare --project myproject.json cloud normals 0 \
  -o /data/with_normals.ply --level 6

# Compute normals oriented toward +Z
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

クラウド内のすべての法線ベクトルを反転します。

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

統計的外れ値除去 — 孤立したノイズ点を除去します。

# Default parameters (k=6 neighbours, 1.0 std ratio)
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

オプション: -o/--output TEXT (必須)、--nb-points INTEGER、--std-ratio FLOAT、--add-to-project

cloud noise-filter

PCL ノイズフィルター (KNN または半径モード) を使用してノイズ点を除去します。

# KNN mode (default)
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

オプション: -o/--output TEXT (必須)、--knn INTEGER、--noisiness FLOAT、--radius FLOAT、--use-radius、--absolute、--add-to-project

cloud filter-csf

Cloth Simulation Filter (CSF) アルゴリズムを使用した地物フィルタリング。地面の点と非地面の点 (建物、植生) を分離します。

# Extract ground only — mixed terrain
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

# 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

オプション: -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

スカラー値の範囲でクラウドをフィルタリングします (SF ∈ [min, max] の点を保持)。

# Keep points with SF value between 10 and 50
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
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

座標軸 (X/Y/Z) をスカラーフィールドに変換します。一般的には高さ (Z) のスカラーフィールドを作成するために使用されます。

# Create Z scalar field (height)
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
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

便利なコマンド: Z → スカラーフィールドへの変換と高さ範囲によるフィルタリングを一度に実行します。

# Extract points between z=1.0 m and z=2.5 m
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

オプション: -o/--output TEXT (必須)、--min FLOAT、--max FLOAT、--add-to-project

cloud sf-to-rgb

アクティブなスカラーフィールドを RGB カラーに変換します。

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

RGB カラーをスカラーフィールド (輝度値) に変換します。

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

曲率スカラーフィールド (MEAN または GAUSS) を計算します。

# Mean curvature with radius 0.5 m
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

オプション: -o/--output TEXT (必須)、--type [mean|gauss]、-r/--radius FLOAT、--add-to-project

cloud roughness

粗さスカラーフィールド (局所的な最適適合平面からの偏差) を計算します。

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

点密度スカラーフィールドを計算します。

# KNN density
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

オプション: -o/--output TEXT (必須)、-r/--radius FLOAT、--type [knn|surface|volume]、--add-to-project

cloud segment-cc

クラウドを連結成分 (クラスター) にセグメント化します。各成分は個別のファイルとして保存されます。

# Segment with octree level 8, minimum 100 points per component
cli-anything-cloudcompare --project myproject.json cloud segment-cc 0 \
  -o /data/components/ --octree-level 8 --min-points 100

# Save components as PLY files
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

プロジェクト内のすべてのクラウドを 1 つのクラウドにマージします。

cli-anything-cloudcompare --project myproject.json cloud merge \
  -o /data/merged.las --add-to-project

オプション: -o/--output TEXT (必須)、--add-to-project

cloud mesh-delaunay

クラウドから 2.5 次元の Delaunay 三角分割メッシュを構築します。

# Basic Delaunay mesh
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

オプション: -o/--output TEXT (必須)、--best-fit、--max-edge-length FLOAT、--add-to-project


4. mesh — メッシュ操作 (3 コマンド)
mesh add

メッシュファイルをプロジェクトに追加します。

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"

オプション: -l/--label TEXT

mesh list

プロジェクト内のすべてのメッシュを一覧表示します。

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

# JSON output
cli-anything-cloudcompare --project myproject.json --json mesh list
mesh sample

メッシュ表面から点群をサンプリングします。

# Sample 50 000 points from mesh at index 0
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

オプション: -o/--output TEXT (必須)、-n/--count INTEGER、--add-to-project


5. distance — 距離計算 (2 コマンド)
distance c2c

クラウド間の距離を計算します。比較対象のクラウドに距離スカラーフィールドを追加します。

# Compare cloud 1 to reference cloud 0
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
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

クラウドとメッシュ間の距離を計算します。クラウドに距離スカラーフィールドを追加します。

# Basic cloud-to-mesh distance
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

オプション: --cloud INTEGER (必須)、--mesh INTEGER (必須)、-o/--output TEXT (必須)、--flip-normals、--unsigned、--add-to-project


6. transform — 変換と位置合わせ (2 コマンド)
transform apply

4×4 の剛体変換行列をクラウドに適用します。

# Apply a transformation matrix from file
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

行列ファイルには、スペース区切りの値が 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

ICP (Iterative Closest Point) 位置合わせを実行して、あるクラウドを別のクラウドに整列させます。

# Basic ICP alignment
cli-anything-cloudcompare --project myproject.json transform icp \
  --aligned 1 --reference 0 -o /data/aligned.las

# ICP with overlap and iteration control
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 — クラウドとメッシュのエクスポート (4 コマンド)
export formats

利用可能なすべてのエクスポート形式プリセットを一覧表示します。

cli-anything-cloudcompare export formats

# JSON output
cli-anything-cloudcompare --json export formats
export cloud

クラウドを対象の形式にエクスポートします。

# Export cloud at index 0 as LAS
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las

# Export as PLY using preset
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

対応プリセット: las、laz、ply、pcd、xyz、asc、csv、bin、e57

オプション: -f/--preset TEXT、--overwrite

export mesh

メッシュを対象の形式にエクスポートします。

# Export mesh at index 0 as OBJ
cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.obj

# Export as STL
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 all clouds as 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

オプション: -d/--output-dir TEXT (必須)、-f/--preset TEXT、--overwrite


8. info — インストール情報 (1 コマンド)

CloudCompare のインストールパスとバージョンを表示します。

cli-anything-cloudcompare info

# JSON output
cli-anything-cloudcompare --json info

9. repl — 対話型 REPL (1 コマンド)

履歴と undo をサポートする対話型 REPL セッションを開始します。

# Start REPL without a project
cli-anything-cloudcompare repl

# Start REPL with an existing project
cli-anything-cloudcompare repl -p myproject.json

# Equivalent: run without subcommand
cli-anything-cloudcompare --project myproject.json

オプション: -p/--project TEXT

REPL 内で help と入力すると使用可能なコマンドの一覧が表示され、session undo と入力すると直前の操作を取り消せます。


対応ファイル形式

形式拡張子読み込み書き込み備考
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 プリンティング)

一般的なワークフロー

ワークフロー 1: LiDAR 前処理パイプライン
P=myproject.json

# 1. Create project and load scan
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

# 2. Denoise
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
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)
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
cli-anything-cloudcompare --project $P export cloud 3 /data/ground_final.las -f las --overwrite
ワークフロー 2: 2 つのスキャン間の変化検出
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

# ICP alignment (align 2024 to 2023)
cli-anything-cloudcompare --project $P transform icp \
  --aligned 1 --reference 0 -o /data/aligned_2024.las \
  --overlap 90 --add-to-project   # index 2

# Cloud-to-cloud distance
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
cli-anything-cloudcompare --project $P export cloud 3 /data/change_map_final.las --overwrite
ワークフロー 3: 高さスライスの抽出
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)
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
ワークフロー 4: サーフェス再構成
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

# Delaunay mesh
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

エラー処理

終了コード意味
0成功
1一般的なエラー (詳細は stderr を参照)
2無効な引数

よくあるエラー:

# CloudCompare not found
# → Install CloudCompare; check `cli-anything-cloudcompare info`

# Index out of range
# → Run `cloud list` or `mesh list` to confirm valid indices

# File already exists (no --overwrite)
# → Add --overwrite flag to export commands

# fcntl not available (Windows)
# → File locking is skipped automatically; project save still works

AI エージェント向け

  1. 常に --json フラグを使用する — 解析可能な出力を得るため
  2. リターンコードを確認する — 成功は 0、エラーは非ゼロ
  3. 失敗時は stderr を解析する — エラーメッセージを取得するため
  4. すべてのファイル引数に絶対パスを使用する
  5. エクスポート操作の後は出力ファイルが存在することを確認する
  6. --add-to-project を組み合わせる — ファイルを再読み込みせずに多段階のパイプラインを構築するため
  7. cloud list --json を使用する — 各操作の前に有効なクラウドインデックスを確認するため
  8. export formats --json を使用する — 利用可能な形式プリセットを確認するため

バージョン

コンポーネントバージョン
cli-anything-cloudcompare1.0.0
CloudCompare (テスト済み)2.13.2
Python (最小)3.10

コメント