Multi-Modal, Agentic Input Pipeline
The primary roadblock with AI-generated CAD is giving the model enough context to produce accurate, parametric results. I engineered a sophisticated multi-input pipeline that can simultaneously send the current viewport (captured via automated front/back/current screenshots), user-uploaded 3D scan files of body parts (for generating custom gloves, helmets, or armor), and detailed text prompts. Development is focused on utilizing a high-agentic-capability model on the DGX cluster that can digest this multi-modal data, read external model libraries (such as guitar, gear, or metalworking collections, or other custom libraries, etc.), and execute the correct series of API calls to generate custom geometry entirely from the contextual input.
Scalable Inference & Endpoint Agnosticism
The backend is designed for hardware-aware scaling. By integrating with local inference platforms like Ollama and LM Studio, the software can pivot between models based on the complexity of the task. For simple primitives, it runs a Qwen 3.5 (9B) model locally on my tablet. For complex Booleans or agentic multi-file analysis, it leverages the full power of a 122B model on the DGX cluster, providing a seamless transition between edge and data-center compute.
Enhancing the Native FreeCAD Workflow
Micro-Co-Slop-Pilot is designed to fill in critical user experience gaps inherent to FreeCAD itself, making it a viable tool for both AI-driven and manual work. I have successfully integrated a dynamic visual system that includes an on-screen grid, dynamic transparency to ‘see inside’ assemblies, and a wireframe mode. To stabilize the production pipeline, I have built core QoL features including a robust multi-level undo/redo system with an auditable history stack, parametric dimension editing panels, an STL/STEP export button, and a command to validate geometry to clear potential visual bugs.
Non-Destructive Booleans & Parametric Integrity (v15.25 Milestone)
I have successfully finalized the logic for 8 core geometric primitives (Box, Pyramid, Cylinder, Cone, Sphere, Torus, Prism, Wedge) with dynamic fillet integration. Current development recently cracked non-destructive Boolean operations (cut, fuse, common). To prevent the generation of ‘static’ geometry, the AI is instructed to use custom Python functions (e.g., set_param()) to write dimensions directly to a FreeCAD spreadsheet, which then triggers a replay_history() function, ensuring every AI-generated feature remains 100% parametric, traceable, and natively editable.
Performance Guardrails & Kernel Safety
Active development is focused on stabilizing the AI’s logic loop and preventing token hallucinations. I engineered specialized diagnostics like an active AI model output log and a ‘Ping AI’ status indicator to ensure communication is stable. Furthermore, I am refining the Boundary Representation (BREP) fallback logic for complex lofts and custom wedge shapes to ensure the FreeCAD C++ kernel doesn’t crash when the AI experiments with extreme or invalid parameter inputs.
Autonomous AI Agent
To accelerate shape library development, I built sloppilot — a fully autonomous coding agent that runs 24/7 on the DGX Spark. After I designed the core architecture, CAD engine (v15.31.4), and initial primitives, the agent became fully autonomous. Every shape, helper function, and test beyond the bootstrap phase was written, validated, and landed by the agent itself with zero human intervention.
The system currently maintains a 10,916-line CAD engine, a 1,459-line autonomous agent (v9), and a 1,260-line helper library with 39 self-authored functions — covering everything from pipe elbows and heat sinks to snap-fit clips and lattice geometry layers. The agent runs Qwen 3.5 122B locally through Ollama at ~22 tok/s with zero cloud cost. All development happens on-device — data never leaves the local network. The agent includes file-based comms with FreeCAD’s QTimer watcher, multi-file editing with protected regions, 5-attempt self-healing with error feedback, and automatic rollback on regression failure.
