Communitygithub.com

cli-anything-freecad

FreeCAD パラメトリック3D CADモデラーの完全CLIフロントエンド(258コマンド)。パート、スケッチャー、パートデザイン、アセンブリ、メッシュ、テックドロー、ドラフト、FEM、CAMなど、全ワークベンチを網羅。

cli-anything-freecad とは?

このスキルは、オープンソースのパラメトリック3D CADモデラーであるFreeCADを、完全にコマンドラインから操作するためのCLIハーネスです。258のコマンドが17のグループに分かれており、Part(29プリミティブ、ブーリアン、ミラー、ロフト、スイープ)、Sketcher(26コマンド:ジオメトリ、拘束、編集)、PartDesign(38コマンド:パッド、ポケット、溝、フィレット、面取り、パターン、穴、データム)、Assembly(11コマンド)、Mesh(16コマンド)、TechDraw(15コマンド:ビュー、寸法、PDF/SVG出力)、Draft(33コマンド:2Dシェイプ、配列、変換)、FEM(12コマンド)、CAM/CNC(10コマンド)、Surface(6コマンド)、Spreadsheet(7コマンド)、Import(13フォーマット)、Export(17フォーマット)、Measure(12コマンド)、Materials(21プリセット)など、すべてのワークベンチをカバーします。 特に強力なのは、プレビュー、ライブプレビュー、モーション機能の統合です。プレビューコマンドを使えば、4ビューの画像バンドル(hero.png、front.png、top.png、right.png)をキャプチャし、イテレーティブなビルドループではライブプレビュー(ポーリングモード対応)を常時実行できます。また、モーションコマンドを使用して、最終的な真実のフレームレンダリングやショーケース動画を生成することも可能です。すべてのコマンドはJSON出力に対応しており、AIエージェントが解析しやすい構造化データ(trajectory_summaryを含む)を返します。エラーハンドリングも充実しており、FreeCADがインストールされていない場合の明確な指示、無効な型に対する選択肢の提示、範囲外インデックス時の有効範囲の報告など、ユーザーフレンドリーな設計になっています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-freecad

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

cli-anything-freecad は何をしますか?

FreeCAD — 17グループ、全ワークベンチをカバーする258コマンドの完全CLIハーネス。

前提条件

FreeCADがインストールされている必要があります。freecadcmd がPATHに含まれていることを確認してください。

インストール

pip install -e freecad/agent-harness

基本的な使い方

cli-anything-freecad --json <command>           # エージェント向けJSON出力
cli-anything-freecad --json -p proj.json <cmd>  # プロジェクトファイルを使用
cli-anything-freecad                            # インタラクティブREPL

プレビュー、ライブプレビュー、モーション

FreeCADは、現在このブランチで最も深いプレビュー統合が行われているワークベンチです。

プレビューコマンド:

# プレビューレシピ一覧
cli-anything-freecad --json -p proj.json preview recipes

# 4ビューバンドルのキャプチャ
cli-anything-freecad --json -p proj.json preview capture --recipe quick

# ポーリングモードのライブプレビュー開始
cli-anything-freecad --json -p proj.json preview live start --recipe quick --mode poll --source-poll-ms 500

# レンダリングせずに現在のライブ状態を問い合わせ
cli-anything-freecad --json -p proj.json preview live status --recipe quick

# ライブプレビューの公開を停止
cli-anything-freecad --json -p proj.json preview live stop --recipe quick

標準的な quick バンドルの成果物:

  • hero.png
  • front.png
  • top.png
  • right.png

ライブプレビューでは以下が永続化されます:

  • session.json
  • 不変のバンドルディレクトリ
  • trajectory.json

preview live status --json はエージェント向けで、_session_dir、現在のバンドル参照、_trajectory_path に加えて、コンパクトな trajectory_summary を含みます。

ビューアコマンド:

cli-hub previews inspect /path/to/bundle-or-session
cli-hub previews html /path/to/bundle-or-session -o page.html
cli-hub previews watch /path/to/session --open
cli-hub previews open /path/to/bundle-or-session

モーションコマンドはプレビューとは別に、最終的な真実のフレームレンダリングとショーケース動画に使用されます:

cli-anything-freecad --json -p proj.json motion new --name spin --duration 6 --fps 24
cli-anything-freecad --json -p proj.json motion keyframe spin --time 0.0 --part 0 --position 0,0,0
cli-anything-freecad --json -p proj.json motion render-video spin output.mp4

コマンドグループ (258コマンド)

document (5) — ドキュメント管理

cli-anything-freecad --json document new --name "Part" -o proj.json
cli-anything-freecad --json document new --profile print3d -o proj.json
cli-anything-freecad --json -p proj.json document info
cli-anything-freecad --json -p proj.json document save -o copy.json
cli-anything-freecad --json document profiles

part (29) — 3Dプリミティブ、ブーリアン、変換、操作

# プリミティブ: box, cylinder, sphere, cone, torus, wedge, helix, spiral, thread, plane, polygon_3d
cli-anything-freecad --json -p p.json part add box -P length=20 -P width=15 -P height=5
cli-anything-freecad --json -p p.json part add cylinder -P radius=3 -P height=10 --position 10,7.5,0

# 操作
cli-anything-freecad --json -p p.json part boolean cut 0 1
cli-anything-freecad --json -p p.json part copy 0
cli-anything-freecad --json -p p.json part mirror 0 --plane XY
cli-anything-freecad --json -p p.json part scale 0 --factor 2.0
cli-anything-freecad --json -p p.json part loft --indices 0,1,2
cli-anything-freecad --json -p p.json part sweep 0 1
cli-anything-freecad --json -p p.json part revolve 0 --axis Z --angle 360
cli-anything-freecad --json -p p.json part extrude 0 --direction 0,0,1 --length 10
cli-anything-freecad --json -p p.json part fillet-3d 0 --radius 2
cli-anything-freecad --json -p p.json part thickness 0 --thickness 1
cli-anything-freecad --json -p p.json part compound --indices 0,1,2
cli-anything-freecad --json -p p.json part section 0 --plane XY
cli-anything-freecad --json -p p.json part info 0
cli-anything-freecad --json -p p.json part line-3d --start 0,0,0 --end 10,5,0
cli-anything-freecad --json -p p.json part wire --points "0,0,0;10,0,0;10,10,0"

sketch (26) — 2D拘束スケッチ

cli-anything-freecad --json -p p.json sketch new --plane XY
cli-anything-freecad --json -p p.json sketch add-line 0 --start 0,0 --end 20,0
cli-anything-freecad --json -p p.json sketch add-circle 0 --center 10,10 --radius 5
cli-anything-freecad --json -p p.json sketch add-rect 0 --corner 0,0 --width 20 --height 15
cli-anything-freecad --json -p p.json sketch add-arc 0 --center 0,0 --radius 5
cli-anything-freecad --json -p p.json sketch add-ellipse 0 --center 0,0 --major-radius 10 --minor-radius 5
cli-anything-freecad --json -p p.json sketch add-polygon 0 --center 0,0 --sides 6 --radius 10
cli-anything-freecad --json -p p.json sketch add-bspline 0 --points "0,0;5,10;10,0;15,10"
cli-anything-freecad --json -p p.json sketch add-slot 0 --center1 0,0 --center2 10,0 --radius 2
cli-anything-freecad --json -p p.json sketch constrain 0 distance --elements 0,1 --value 10
cli-anything-freecad --json -p p.json sketch edit-element 0 0 --radius 8
cli-anything-freecad --json -p p.json sketch remove-element 0 2
cli-anything-freecad --json -p p.json sketch validate 0
cli-anything-freecad --json -p p.json sketch solve-status 0
# 拘束: coincident, horizontal, vertical, parallel, perpendicular, equal,
#   fixed, distance, angle, radius, tangent, symmetric, block, diameter,
#   point_on_object, distance_x, distance_y

body (38) — PartDesignフィーチャー

cli-anything-freecad --json -p p.json body new
cli-anything-freecad --json -p p.json body pad 0 0 --length 10
cli-anything-freecad --json -p p.json body pocket 0 1 --length 5
cli-anything-freecad --json -p p.json body groove 0 0 --angle 360
cli-anything-freecad --json -p p.json body fillet 0 --radius 2
cli-anything-freecad --json -p p.json body chamfer 0 --size 1.5
cli-anything-freecad --json -p p.json body revolution 0 0 --angle 360
cli-anything-freecad --json -p p.json body additive-loft 0 --sketch-indices 0,1
cli-anything-freecad --json -p p.json body additive-pipe 0 0 1
cli-anything-freecad --json -p p.json body additive-helix 0 0 --pitch 5 --height 20
cli-anything-freecad --json -p p.json body additive-box 0 -P length=10 -P width=10 -P height=10
cli-anything-freecad --json -p p.json body hole 0 0 --diameter 5 --depth 10 --threaded
cli-anything-freecad --json -p p.json body draft-feature 0 --angle 5
cli-anything-freecad --json -p p.json body thickness-feature 0 --thickness 1
cli-anything-freecad --json -p p.json body linear-pattern 0 --occurrences 5 --length 50
cli-anything-freecad --json -p p.json body polar-pattern 0 --occurrences 6 --angle 360
cli-anything-freecad --json -p p.json body mirrored 0 --plane XY
cli-anything-freecad --json -p p.json body datum-plane 0 --reference XY --offset 10

material (8) — 工学的特性を持つPBRマテリアル

# 21プリセット: steel, aluminum, copper, brass, titanium, stainless_steel, cast_iron,
#   carbon_fiber, nylon, abs, pla, petg, plastic_white, plastic_black, wood, glass,
#   rubber, gold, concrete, granite, marble
cli-anything-freecad --json -p p.json material create --preset steel
cli-anything-freecad --json -p p.json material create --preset titanium
cli-anything-freecad --json -p p.json material assign 0 0
cli-anything-freecad --json -p p.json material set 0 density 7800
cli-anything-freecad --json -p p.json material import-material mat.json
cli-anything-freecad --json -p p.json material export-material 0 --output mat.json

assembly (11) — アセンブリ管理

cli-anything-freecad --json -p p.json assembly new --name "MyAssembly"
cli-anything-freecad --json -p p.json assembly add-part 0 0
cli-anything-freecad --json -p p.json assembly constrain 0 coincident --components 0,1
cli-anything-freecad --json -p p.json assembly constrain 0 distance --components 0,1 --distance 10
cli-anything-freecad --json -p p.json assembly solve 0
cli-anything-freecad --json -p p.json assembly dof 0
cli-anything-freecad --json -p p.json assembly bom 0
cli-anything-freecad --json -p p.json assembly explode 0 --factor 2.0
# 拘束: fixed, coincident, distance, angle, parallel, perpendicular,
#   tangent, revolute, prismatic, cylindrical, ball, planar, gear, belt

mesh (16) — メッシュ操作

cli-anything-freecad --json -p p.json mesh from-shape 0 --deviation 0.1
cli-anything-freecad --json -p p.json mesh import path/to/model.stl
cli-anything-freecad --json -p p.json mesh export 0 output.stl --format stl
cli-anything-freecad --json -p p.json mesh boolean union 0 1
cli-anything-freecad --json -p p.json mesh decimate 0 --target-faces 1000
cli-anything-freecad --json -p p.json mesh smooth 0 --iterations 5
cli-anything-freecad --json -p p.json mesh repair 0
cli-anything-freecad --json -p p.json mesh to-shape 0

techdraw (15) — テクニカルドローイング

cli-anything-freecad --json -p p.json techdraw new-page
cli-anything-freecad --json -p p.json techdraw add-view 0 0 --direction 0,0,1 --scale 1.0
cli-anything-freecad --json -p p.json techdraw add-projection-group 0 0
cli-anything-freecad --json -p p.json techdraw add-section-view 0 0
cli-anything-freecad --json -p p.json techdraw add-dimension 0 0 length --references 0,1
cli-anything-freecad --json -p p.json techdraw add-annotation 0 "Note text"
cli-anything-freecad --json -p p.json techdraw export-pdf 0 drawing.pdf
cli-anything-freecad --json -p p.json techdraw export-svg 0 drawing.svg

draft (33) — 2Dドラフティング

cli-anything-freecad --json -p p.json draft wire --points "0,0,0;10,0,0;10,10,0"
cli-anything-freecad --json -p p.json draft rectangle --width 20 --height 15
cli-anything-freecad --json -p p.json draft circle --radius 10
cli-anything-freecad --json -p p.json draft polygon --sides 6 --radius 10
cli-anything-freecad --json -p p.json draft text --content "Hello" --position 0,0,0
cli-anything-freecad --json -p p.json draft move 0 --vector 10,5,0
cli-anything-freecad --json -p p.json draft array-linear 0 --direction 1,0,0 --count 5 --spacing 10
cli-anything-freecad --json -p p.json draft array-polar 0 --center 0,0,0 --count 6
cli-anything-freecad --json -p p.json draft extrude 0 --direction 0,0,1 --length 10
cli-anything-freecad --json -p p.json draft to-sketch 0

measure (12) — 測定と解析

cli-anything-freecad --json -p p.json measure volume 0
cli-anything-freecad --json -p p.json measure area 0
cli-anything-freecad --json -p p.json measure distance 0 1
cli-anything-freecad --json -p p.json measure bounding-box 0
cli-anything-freecad --json -p p.json measure center-of-mass 0
cli-anything-freecad --json -p p.json measure check-geometry 0

surface (6) — サーフェス操作

cli-anything-freecad --json -p p.json surface filling --edges 0,1,2
cli-anything-freecad --json -p p.json surface sections --sections 0,1,2
cli-anything-freecad --json -p p.json surface extend 0 --length 10
cli-anything-freecad --json -p p.json surface sew --indices 0,1

fem (12) — 有限要素解析

cli-anything-freecad --json -p p.json fem new-analysis
cli-anything-freecad --json -p p.json fem add-fixed 0 --references face1,face2
cli-anything-freecad --json -p p.json fem add-force 0 --references face3 --magnitude 1000
cli-anything-freecad --json -p p.json fem set-material 0 0
cli-anything-freecad --json -p p.json fem mesh-generate 0 --max-size 5
cli-anything-freecad --json -p p.json fem solve 0
cli-anything-freecad --json -p p.json fem results 0

cam (10) — CNC加工

cli-anything-freecad --json -p p.json cam new-job 0
cli-anything-freecad --json -p p.json cam set-stock 0 --stock-type box
cli-anything-freecad --json -p p.json cam set-tool 0 --diameter 6 --type endmill
cli-anything-freecad --json -p p.json cam add-profile 0
cli-anything-freecad --json -p p.json cam add-pocket 0 --depth 5
cli-anything-freecad --json -p p.json cam generate-gcode 0
cli-anything-freecad --json -p p.json cam export-gcode 0 output.nc

spreadsheet (7) — パラメトリックデータテーブル

cli-anything-freecad --json -p p.json spreadsheet new
cli-anything-freecad --json -p p.json spreadsheet set-cell 0 A1 "50"
cli-anything-freecad --json -p p.json spreadsheet set-cell 0 B1 "=A1*2"
cli-anything-freecad --json -p p.json spreadsheet set-alias 0 A1 plate_width
cli-anything-freecad --json -p p.json spreadsheet export-csv 0 data.csv

import (13) — CAD/メッシュファイルのインポート

cli-anything-freecad --json -p p.json import auto model.step
cli-anything-freecad --json -p p.json import step model.step
cli-anything-freecad --json -p p.json import stl model.stl
cli-anything-freecad --json -p p.json import dxf drawing.dxf
cli-anything-freecad --json -p p.json import info model.step
# フォーマット: step, iges, stl, obj, dxf, svg, brep, 3mf, ply, off, gltf

export (3) — 17フォーマットにエクスポート

# プリセット: step, iges, stl, stl_fine, obj, brep, fcstd, dxf, svg, gltf, 3mf, ply, off, amf, pdf, png, jpg
cli-anything-freecad --json -p p.json export render output.step --preset step
cli-anything-freecad --json -p p.json export render model.stl --preset stl --overwrite
cli-anything-freecad --json -p p.json export presets

session (4) — アンドゥ/リドゥ

cli-anything-freecad --json -p p.json session undo
cli-anything-freecad --json -p p.json session redo
cli-anything-freecad --json -p p.json session status
cli-anything-freecad --json -p p.json session history

JSON出力

すべてのコマンドは --json に対応しています。レスポンスには構造化データが含まれます。エラーは {"error": "message"} の形式で返されます。

エラーハンドリング

  • FreeCADが見つからない場合: 明確なインストール手順を表示
  • 無効な型: 有効な選択肢を一覧表示
  • インデックスが範囲外: 有効な範囲を報告
  • ファイルが既に存在する場合: --overwrite を使用するよう指示

エージェント向けプレビューメモ

  • 幾何学的な変更を視覚的に確認する必要がある場合は常に preview capture --json を使用してください。
  • 反復的なビルドループには preview live start を使用し、プロジェクトファイルを繰り返し保存する場合はポーリングモードを推奨します。
  • 完全な trajectory を読み取る前に、低コストのステータス確認として preview live status --json を使用してください。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-gimp

>-

cli-anything-godot

>-

cli-anything-inkscape

>-

関連スキル