Communitygithub.com

cli-anything-freecad

Interface de linha de comando completa para o modelador CAD 3D paramétrico FreeCAD, com 258 comandos cobrindo todas as bancadas de trabalho.

O que é cli-anything-freecad?

Este skill oferece um harness completo de linha de comando (CLI) para o FreeCAD, um poderoso modelador CAD 3D paramétrico de código aberto. Ele expõe 258 comandos organizados em 17 grupos, cobrindo todas as bancadas de trabalho do FreeCAD, incluindo Part, Sketcher, PartDesign, Assembly, Mesh, TechDraw, Draft, FEM, CAM, Surface, Spreadsheet, Import e Export. O skill é projetado para ser usado por agentes de IA, com saída em JSON para fácil parse, e suporta fluxos de trabalho headless para automação de design. Além disso, oferece funcionalidades avançadas de visualização, incluindo captura de visualizações, pré-visualização ao vivo e renderização de animações, tornando-o ideal para pipelines de design generativo e integração com ferramentas de desenvolvimento.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que cli-anything-freecad faz?

Harness de CLI completo para FreeCAD — 258 comandos em 17 grupos cobrindo TODAS as bancadas de trabalho.

Pré-requisitos

O FreeCAD deve estar instalado: freecadcmd deve estar no PATH.

Instalação

pip install -e freecad/agent-harness

Uso Básico

cli-anything-freecad --json <comando>           # Saída JSON para agentes
cli-anything-freecad --json -p proj.json <cmd>  # Com arquivo de projeto
cli-anything-freecad                            # REPL interativo

Visualização, Visualização ao Vivo e Movimento

O FreeCAD é atualmente a integração de visualização mais profunda neste ramo.

Comandos de visualização:

# Listar receitas de visualização
cli-anything-freecad --json -p proj.json preview recipes

# Capturar um pacote de 4 visualizações real
cli-anything-freecad --json -p proj.json preview capture --recipe quick

# Iniciar visualização ao vivo em modo de polling
cli-anything-freecad --json -p proj.json preview live start --recipe quick --mode poll --source-poll-ms 500

# Consultar estado atual da visualização ao vivo sem renderizar
cli-anything-freecad --json -p proj.json preview live status --recipe quick

# Parar a publicação da visualização ao vivo
cli-anything-freecad --json -p proj.json preview live stop --recipe quick

Artefatos típicos do pacote quick:

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

A visualização ao vivo persiste:

  • session.json
  • diretórios de pacotes imutáveis
  • trajectory.json

preview live status --json é destinado a agentes e inclui um resumo trajectory_summary compacto, além de _session_dir, referências de pacote atuais e _trajectory_path.

Comandos do visualizador:

cli-hub previews inspect /caminho/para/pacote-ou-sessao
cli-hub previews html /caminho/para/pacote-ou-sessao -o pagina.html
cli-hub previews watch /caminho/para/sessao --open
cli-hub previews open /caminho/para/pacote-ou-sessao

Os comandos de movimento permanecem separados da visualização e são usados para renderização final de quadros verídicos e vídeos de demonstração:

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

Grupos de Comandos (258 comandos)

document (5) — Gerenciamento de documento

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) — Primitivas 3D, booleanos, transformações, operações

# Primitivas: 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

# Operações
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) — Esboço 2D com restrições

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
# Restrições: coincident, horizontal, vertical, parallel, perpendicular, equal,
#   fixed, distance, angle, radius, tangent, symmetric, block, diameter,
#   point_on_object, distance_x, distance_y

body (38) — Recursos 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) — Materiais PBR com propriedades de engenharia

# 21 predefinições: 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) — Gerenciamento de montagem

cli-anything-freecad --json -p p.json assembly new --name "MinhaMontagem"
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
# Restrições: fixed, coincident, distance, angle, parallel, perpendicular,
#   tangent, revolute, prismatic, cylindrical, ball, planar, gear, belt

mesh (16) — Operações de malha

cli-anything-freecad --json -p p.json mesh from-shape 0 --deviation 0.1
cli-anything-freecad --json -p p.json mesh import caminho/para/modelo.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) — Desenhos técnicos

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 "Texto da nota"
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) — Desenho 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 "Olá" --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) — Medição e análise

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) — Operações de superfície

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) — Análise de Elementos Finitos

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) — Usinagem 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) — Tabelas de dados paramétricos

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) — Importar arquivos CAD/malha

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
# Formatos: step, iges, stl, obj, dxf, svg, brep, 3mf, ply, off, gltf

export (3) — Exportar para 17 formatos

# Predefinições: 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) — Desfazer/refazer

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

Saída JSON

Todos os comandos suportam --json. As respostas incluem dados estruturados. Erros: {"error": "mensagem"}.

Tratamento de Erros

  • FreeCAD ausente: Instruções claras de instalação
  • Tipos inválidos: Lista opções válidas
  • Índice fora do intervalo: Informa o intervalo válido
  • Arquivo existe: Use --overwrite

Notas de Visualização para Agentes

  • Use preview capture --json sempre que mudanças geométricas precisarem de verificação visual.
  • Use preview live start para loops de construção iterativos; prefira o modo de polling quando o arquivo de projeto estiver sendo salvo repetidamente.
  • Use preview live status --json como sonda de status econômica antes de ler o trajectory.json completo.

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

>-

Habilidades Relacionadas