{"slug": "show-hn-lobole-open-source-parametric-cad-that-ai-agents-can-drive", "title": "Show HN: Loböle, open-source parametric CAD that AI agents can drive", "summary": "Developer eliasaronson released Loböle 0.1, an open-source parametric CAD application built on OpenCASCADE B-Rep modeling with a Vulkan viewport, exposing every GUI command through JSON-RPC, a Python SDK and an MCP server so AI agents can drive it. The Linux-first release ships as an AppImage for glibc 2.39 or newer, a .deb for Ubuntu 26.04, a headless AppImage and container for servers, a pip-installable client and MCP server, and an unsigned Windows build without FEM support. The release warns that CAM toolpaths have cut real parts on only one machine, a 6090 CNC router running Mach3, and that every file should be simulated and dry-run before cutting.", "body_md": "Open-source parametric CAD: B-Rep modeling on OpenCASCADE, a Vulkan viewport, and one command layer that the GUI, Python scripts and AI agents all drive. Linux first; Windows builds exist, macOS is untested.\n\nVersion 0.1: so expect some rough edges. Issues are welcome.\n\n- **Parametric modeling:** a constraint sketcher, features that survive\nupstream edits (stable topological naming), variables and expressions,\nconfigurations, sheet metal, bent tube.\n- **Assemblies:** mates, sub-assemblies, motion studies with clash checks,\nexploded views, a BOM, standard fasteners.\n- **Drawings:** sheets with projected views, dimensions and tables, out to\nSVG and PDF.\n- **Simulation:** static and modal FEM, and topology optimization, on the\npart itself.\n- **Manufacturing:** 2.5D, 3-axis and 4th-axis milling posted for Mach3,\nLinuxCNC or GRBL, each file verified by simulating it; checks for 3D\nprinting.\n- **Versioning:** history, named versions, branches and merges, backed by\ngit.\n- **Scripting and agents:** JSON-RPC, a Python SDK and an MCP server reach\nevery command the GUI has; a terminal panel runs an agent inside the\nwindow.\n- **Interchange:** STEP, STL and BREP in; those plus glTF, OBJ, PLY, DXF,\nSVG and PDF out.\n\nWarning\n\n**CAM has cut real parts on one machine only**: a 6090 CNC router on\nMach3. Simulate and dry-run every file before cutting.\n\n## lobole-demo-1080p.mp4\n\nEvery model here is built by a generator, an ordinary Python program driving\nthe API; [generators/README.md](https://github.com/eliasaronson/lobole/blob/main/generators/README.md) lists them all.\n\n| **OM615 diesel** (Opus 5.5): every part down to the bearing shells, with its injection pump chained to the crank and timed | **Automatic watch** (Opus 5, one shot): a 3 Hz self-winding movement, with lever escapement, rotor winding and keyless works | \n| **Bicycle** (Opus 5.5, one shot): modelled from photographs | **5-inch FPV quadcopter** (Opus 5, one shot): 91 occurrences, fitted fasteners, FEM on the arms | \n\nFrom the [releases page](https://github.com/eliasaronson/lobole/releases):\n\n- **Linux:**`lobole-<version>-x86_64.AppImage` , the full GUI on glibc\n2.39 or newer (Ubuntu 24.04, Debian 13, Fedora 40 and later).`chmod +x` it and run it; linked onto your PATH as`lobole` , the MCP server can\nstart it by itself.\n- **Ubuntu 26.04:**`sudo apt install ./lobole_<version>-1_amd64.deb` .\n- **Windows:** a zip or an installer. Tested on Windows by hand and\nunder Wine on every release, unsigned (SmartScreen warns), no FEM.\n- **Linux, headless:** an AppImage with the engine and its JSON-RPC\ninterface, no window, for servers ([caveats](https://github.com/eliasaronson/lobole/blob/main/docs/packaging/README.md#the-headless-appimage) ).\n\nElsewhere:\n\n- **Nix:**`nix run github:eliasaronson/lobole` , the full GUI. Outside\nNixOS the GUI needs[nixGL](https://github.com/nix-community/nixGL) .\n- **Container:**`ghcr.io/eliasaronson/lobole-headless` ([below](#container-headless) ).\n- **Python:**`pip install lobole` , the client, SDK and MCP server\n([docs/scripting](https://github.com/eliasaronson/lobole/blob/main/docs/scripting/README.md) ).\n\nOther distributions: [build from source](#building).\n\n**Ubuntu 24.04:** CI installs exactly this list on every push:\n\n```\nsudo apt install git cmake ninja-build build-essential python3 \\\n    libvulkan-dev glslc libglfw3-dev libglm-dev \\\n    libspdlog-dev libgtk-3-dev nlohmann-json3-dev libeigen3-dev libboost-dev \\\n    libocct-data-exchange-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev \\\n    libocct-foundation-dev libocct-ocaf-dev libocct-visualization-dev \\\n    libtbb-dev libvterm-dev\n```\n\n**Ubuntu 26.04:** the same list, plus `libnglib-dev netgen python3-netgen libspectra-dev` for FEM meshing and modal analysis; CI installs that too. The last two are needed only because\nUbuntu's Netgen CMake config checks for them.\n\n**Nix / NixOS:** `nix-shell` in the repo root pins everything. The Vulkan\ndriver comes from your system (`hardware.graphics.enable = true`).\n\n**Flatpak:** `tools/flatpak-build.sh` builds for any distribution\n(`packaging/flatpak/`).\n\n**Other distributions:** the Ubuntu list says what is needed; OpenCASCADE\nmust be 7.6 or newer, CMake 3.14+, and the compiler C++23.\n\n**Windows** cross-compiles from Linux (`packaging/windows/`). **macOS** is\nuntested.\n\nClone with `--recurse-submodules` (or run `git submodule update --init --recursive`) for the vendored dependencies.\n\n`cmake` prints which optional features it compiled in. CAM and the terminal\npanel can be switched off (`-DENABLE_CAM=OFF`, `-DENABLE_TERMINAL=OFF`), and\nthen they do not exist at all. Without **Netgen** there is no FEM meshing,\nand without **Spectra** no modal analysis; Ubuntu has both from 26.04 on,\nand every release download except Windows carries them.\n\nOn OpenCASCADE 7.6 (Ubuntu 24.04), PLY export is missing and some booleans\ncome out wrong ([details](https://github.com/eliasaronson/lobole/blob/main/docs/packaging/README.md#opencascade-76)).\n\n```\ncmake -S . -B build -G Ninja\ncmake --build build\ncmake --install build --prefix \"$HOME/.local\"   # optional: app, assets, desktop entry\n```\n\nThe test engine is the one dependency that is not open source: a company\nover 2M USD turnover that builds or ships Loböle needs a paid licence from\nDISCO HELLO. `-DENABLE_TEST_ENGINE=OFF` removes it, along with the GUI test\nsuite and the remote `ui_action` tier.\n\n```\nbuild/lobole [-f path/to/file.step]\n```\n\nThe engine and its JSON-RPC interface, no GPU or display, with the full feature set (OpenCASCADE 7.9, Netgen, Spectra):\n\n```\ndocker run --rm -p 8437:8437 ghcr.io/eliasaronson/lobole-headless\nlobole-remote 8437 get_state          # from pip install lobole\n```\n\n`nix build .#dockerHeadless` builds the same image.\n\nCaution\n\nThe JSON-RPC interface is **unauthenticated and can read and write\nfiles**. The image listens on all interfaces so the published port works;\nnever publish it on a network you do not trust.\n\n```\ntools/ctest -LE gui -j$(nproc)    # headless: no GPU, no display\n./tools/gui-tests-xvfb.sh         # the GUI suite on a virtual display\n```\n\nMore in [CONTRIBUTING.md](https://github.com/eliasaronson/lobole/blob/main/CONTRIBUTING.md#running-the-tests).\n\n**With an AI agent:** install the MCP server and register it, e.g. with\nClaude Code. It attaches to a running Loböle, or starts one without a\nwindow if none is running:\n\n```\nuv tool install lobole            # or: pip install lobole\nclaude mcp add lobole -- lobole-mcp\n```\n\nScripts drive a live session over JSON-RPC (localhost only, opt-in):\n\n```\n./lobole --remote 8437     # or --headless --remote 8437, with no GPU\nexport PYTHONPATH=$PWD/python\npython3 -m lobole.client 8437 get_state\npython3 -m lobole.client 8437 add_feature \\\n    '{\"feature\": {\"type\": \"Box\", \"name\": \"Box 1\", \"on\": \"Top\",\n                  \"width\": 2, \"depth\": 2, \"height\": 2}}'\n```\n\nEvery GUI command is reachable, plus UI actions that click and type in the\nreal window. See the [Python SDK](https://github.com/eliasaronson/lobole/blob/main/docs/scripting/sdk.md) and the\n[MCP server](https://github.com/eliasaronson/lobole/blob/main/docs/scripting/mcp.md).\n\nCopyright © Elias Högbom Aronsson\n\nLoböle is licensed under the **GNU Affero General Public License, version 3\nor any later version** ([`LICENSE`](https://github.com/eliasaronson/lobole/blob/main/LICENSE)). A distributed or\nnetwork-hosted derivative must be released under the AGPL with its source.\nFiles you make with Loböle (models, drawings, exports) are yours.\n\nIt comes **without any warranty**. Check simulation results before relying\non them for anything that carries load, and dry-run every G-code file.\n\nAn additional permission under section 7 of the AGPL allows linking Loböle\nwith Dear ImGui Test Engine and conveying the result; the text is in\n[`ADDITIONAL_PERMISSION.md`](https://github.com/eliasaronson/lobole/blob/main/ADDITIONAL_PERMISSION.md).\n\nOther products named here are trademarks of their owners; Loböle is not\naffiliated with any of them. The name and logo of Loböle are **not licensed\nunder the AGPL**: a fork or modified build takes its own name\n([`TRADEMARKS.md`](https://github.com/eliasaronson/lobole/blob/main/TRADEMARKS.md)).\n\nListed with their licences, including the dynamically linked LGPL\nlibraries, in [`THIRD_PARTY.md`](https://github.com/eliasaronson/lobole/blob/main/THIRD_PARTY.md).", "url": "https://wpnews.pro/news/show-hn-lobole-open-source-parametric-cad-that-ai-agents-can-drive", "canonical_source": "https://github.com/eliasaronson/lobole", "published_at": "2026-10-24 16:58:21+00:00", "updated_at": "2026-10-24 17:11:31.720320+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "developer-tools", "ai-tools"], "entities": ["Loböle", "eliasaronson", "OpenCASCADE", "Vulkan", "Mach3", "LinuxCNC", "GRBL", "Ubuntu"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-lobole-open-source-parametric-cad-that-ai-agents-can-drive", "markdown": "https://wpnews.pro/news/show-hn-lobole-open-source-parametric-cad-that-ai-agents-can-drive.md", "text": "https://wpnews.pro/news/show-hn-lobole-open-source-parametric-cad-that-ai-agents-can-drive.txt", "jsonld": "https://wpnews.pro/news/show-hn-lobole-open-source-parametric-cad-that-ai-agents-can-drive.jsonld"}}