cli-anything-freecad
Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.
What this skill does
# cli-anything-freecad Complete CLI harness for **FreeCAD** — 258 commands across 17 groups covering ALL workbenches. ## Prerequisites FreeCAD must be installed: `freecadcmd` must be in PATH. ## Installation ```bash pip install -e freecad/agent-harness ``` ## Basic Usage ```bash cli-anything-freecad --json <command> # JSON output for agents cli-anything-freecad --json -p proj.json <cmd> # With project file cli-anything-freecad # Interactive REPL ``` ## Preview, Live Preview, and Motion FreeCAD is currently the deepest preview integration in this branch. Preview commands: ```bash # List preview recipes cli-anything-freecad --json -p proj.json preview recipes # Capture a real 4-view bundle cli-anything-freecad --json -p proj.json preview capture --recipe quick # Start poll-mode live preview cli-anything-freecad --json -p proj.json preview live start --recipe quick --mode poll --source-poll-ms 500 # Query current live state without rendering cli-anything-freecad --json -p proj.json preview live status --recipe quick # Stop live preview publication cli-anything-freecad --json -p proj.json preview live stop --recipe quick ``` Typical `quick` bundle artifacts: - `hero.png` - `front.png` - `top.png` - `right.png` Live preview persists: - `session.json` - immutable bundle directories - `trajectory.json` `preview live status --json` is intended for agents and includes a compact `trajectory_summary` in addition to `_session_dir`, current bundle refs, and `_trajectory_path`. Viewer commands: ```bash 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 ``` Motion commands remain separate from preview and are used for final truthful frame rendering and showcase videos: ```bash 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 ``` ## Command Groups (258 commands) ### document (5) — Document management ```bash 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 primitives, boolean, transforms, operations ```bash # Primitives: 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 # Operations 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 constrained sketching ```bash 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 # Constraints: coincident, horizontal, vertical, parallel, perpendicular, equal, # fixed, distance, angle, radius, tangent, symmetric, block, diameter, # point_on_object, distance_x, distance_y ``` ### body (38) — PartDesign features ```bash 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 materials with engineering properties ```bash # 21 presets: 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) — Assembly management ```bash 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 # Constraints:
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.