anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

earthtojake’s plugin that gives Claude Code, Codex, Cursor, Gemini and Grok local workflows for CAD. Your agent writes each model as a Python script and builds STEP, GLB, STL or 3MF files, with drawings and manufacturing checks.
text-to-cad is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
curl -fsSL https://texttocad.dev/install.sh | sh
And 4 more in Where to use it
text-to-cad is a plugin and a set of skills that give a coding agent local workflows for CAD. Your agent writes each model as a Python script with build123d, which is built on Open CASCADE. Running the script builds the model in text-to-cad’s server, which runs on your computer, and a CAD viewer in your agent app or your browser follows every rebuild. STEP, STL, 3MF and GLB files come out when you ask for them. Other skills check a part for manufacturing, draw it for a shop and prepare it for a printer or a cutting service.
People who design physical things and would rather describe a part than draw it by hand: makers with a 3D printer, mechanical designers, robot builders and small hardware teams. Because a model is a script, every dimension is a number the agent can change and rebuild. The docs carry migration guides between releases, and a project written for an older release can need porting.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Makers and 3D printing | Hobbyists with a printer | Ask for a part, check that it prints, then slice it for their printer | A maker asks for a phone stand, measures the mesh with the DfAM check and slices it with OrcaSlicer. |
| Mechanical design | Engineers and product designers | Build parametric parts, then review them for sheet metal, CNC machining or injection molding | An engineer asks for a 50 mm aluminum L-bracket with two M5 holes, then asks for a CNC machining review. |
| Robotics | Robot builders | Write URDF, SRDF and SDF files beside the CAD and review them in the viewer | A builder writes a URDF for an arm and opens it in the CAD viewer to look at its links and joints. |
| Fabrication orders | Designers who order cut parts | Make a DXF or STEP file and have it checked before upload to SendCutSend | A designer makes a DXF panel, and the agent checks it against SendCutSend’s specs before the upload. |
Skip it on a Windows 11 PC with Smart App Control on, unless you will turn that off or use WSL. The install page says Smart App Control blocks the CAD kernel there.
The README says all popular agents that support plugins or the skills framework can use it, including Claude Code, Codex, Cursor, Gemini and Grok. The install page gives steps for each.
Where an app can show app views, models appear as viewer cards in the conversation. In a terminal, asking it to show a model gives you a link that opens the model in the CAD viewer in your browser. An agent that gets the skills alone has no CAD server in the app, so its models open in the viewer in your browser.
Get it saves a zip of Mindket’s setup notes in your downloads folder, with each agent’s steps from earthtojake’s docs. The main route is one install command, which sets up every agent app on your computer.
| Need | Detail |
|---|---|
| An agent app | Claude Code, Codex, Cursor, Gemini CLI, Grok Build, Claude Desktop, or another agent that reads skills |
| uv | The install command installs it when it is missing |
| Python 3.14 | The packages need 3.14 or newer, and uv fetches a managed copy |
| First run | A network connection. The CAD kernel environment is about 220 MB the first time |
| Windows 11 | Where Smart App Control is on, turn it off or use WSL |
| Node.js 22.20 or newer | Only for agents that get the skills alone, which the Skills CLI installs through npx |
curl -fsSL https://texttocad.dev/install.sh | sh
irm https://www.texttocad.dev/install.ps1 | iex
curl -fsSL https://texttocad.dev/install.sh | sh -s -- --dry-run
To add it to one app by hand, first check that uv is installed with uv --version. Then run the lines the install page gives and restart the app. The first pair is for Claude Code and the second is for Codex.
claude plugin marketplace add earthtojake/text-to-cad#latest claude plugin install text-to-cad@earthtojake
codex plugin marketplace add earthtojake/text-to-cad --ref latest codex plugin add text-to-cad@earthtojake
Ask your agent for a part or an assembly in plain words, or hand it an image. It writes the model as a script, runs it and shows you the result. The Codex plugin’s manifest lists three starter prompts.
Design a 3D-printable phone stand for my desk. Design a 50 mm aluminum L-bracket with two M5 holes. Check my bracket for CNC machining and tell me what to change.
The CAD skill tells the agent to check a number you gave by measuring the geometry, never by reading it off a picture. Files are exports, written when you ask for them.
cad export "$ID" STEP/bracket.step STL/bracket.stl GLB/bracket.glb 3MF/bracket.3mf
The other skills each take one job.
| Skill | What it does |
|---|---|
| CAD | Creates and edits parts and assemblies as Python scripts, and exports STEP, STL, 3MF and GLB |
| step.parts | Finds off-the-shelf STEP parts like screws, bearings, motors and connectors |
| Engineering Drawing | Makes a dimensioned PDF drawing of a part, with views, hidden lines, hole callouts and a title block |
| DXF | Makes 2D drawings like profiles, templates, gaskets and cut layouts |
| URDF | Writes robot structure files with links, joints, limits, inertials and meshes |
| SRDF | Adds MoveIt planning groups, end effectors, poses and collision rules to a URDF |
| SDF | Creates simulator models and worlds with frames, physics, sensors and lights |
| SendCutSend | Checks DXF and STEP files before upload to SendCutSend |
| DfAM Check | Measures mesh printability per process: wall thickness, overhangs, support volume and build orientation |
| DFM | Reviews a part for sheet metal, CNC machining or injection molding, with the cited rule behind every finding |
| G-code | Slices models into printer-ready G-code with OrcaSlicer, using your own printer presets |
| Bambu Labs | Sends prints to Bambu Lab printers through Bambu Connect or Bambu Studio |
You ask for a bracket plate, 40 by 20 by 6 mm, with an 8 mm hole. The agent writes src/bracket.py with a model function and runs it.
cad run src/bracket.py
The CAD skill shows the run printing lines of this shape:
built src/bracket.py::bracket cold in 2.61s: bodies 1 run; 6 misses, 0 hits; body 0.01s, names 0.00s, document 0.00s parts 1 · bounds 40 × 20 × 6 mm · joints 0 · sequences 0
Each run also prints a view: line with the model’s page. Give that link once and the page follows every later run. Change the width, run again, and only what reads the width runs again. You get a plate to look at, and a STEP or STL file when you ask for one.
If you are new. A CAD program draws 3D parts that you will print, cut or machine. Here the agent writes each part as a short Python program, so every dimension is a named number it can change and rebuild. Start with one plain part, such as a bracket or a phone stand, and look at it in the viewer before you ask for changes. Check any dimension that matters yourself.
For experts. A model is a build123d function marked @model, and its id comes from the script’s path and the function’s name. The server keeps a warm worker for each script and replays every operation an edit did not reach, so a comment re-runs nothing and a dimension edit re-runs what reads it. An assembly calls its parts, and each part keeps its own document. Units are millimetres with +Z up.
A check is a script that calls the model and measures what it returns. The skill points to overlap volume and closest points for fits. The cad inspect command turns a reference the viewer copied, such as a face, into the kernel’s facts and the line of code that made it.
cad snapshot "$ID" tmp/top.png --camera top --display hidden-line cad inspect "$ID" "bracket/face 7"
A model that needs another package names it in a comment block at the top of its script, and cad run installs it once beside the kernel. Mechanisms use build123d joints, and the animation tools can explode or showcase an assembly.
Most of it runs on your computer, and a few paths reach out.
# text-to-cad: setup notes This kit holds setup notes only. Mindket wrote them. The text-to-cad plugin and its skills come from earthtojake's repository, https://github.com/earthtojake/text-to-cad, and its server, `cad-server`, from PyPI. These notes are not made or endorsed by earthtojake or Thompson Labs LLC. The README says: "The text-to-cad plugin gives your agent local workflows for generating 3D models as STEP, GLB, STL or 3MF files. It also does design for manufacturing checks, generates engineering drawings, and connects to popular 3D printing, sheet metal and CNC fabrication services." The website is https://www.texttocad.dev License: MIT. The LICENSE file (https://github.com/earthtojake/text-to-cad/blob/main/LICENSE) reads "Copyright (c) 2026 Thompson Labs LLC". The plugin manifests and the PyPI entries for `cad`, `cad-server` and `cad-mcp` name the same license. ## What installs The install command (below) is a short script served by texttocad.dev. Its page, docs/install.md (https://github.com/earthtojake/text-to-cad/blob/main/docs/install.md), lists what it does: - It finds uv, or installs it with uv's own installer, and runs `cad setup` from the latest release through uvx. The first run downloads the release, and Python 3.14 for it. - It makes the CAD kernel environment once: the library with its CAD kernel (OCP, build123d and what they need), about 220 MB the first time, in text-to-cad's cache folder. - It writes the plugin into a folder of text-to-cad's state folder and points each agent app at it with that app's own commands. An agent without a plugin gets the skills alone, copied through the Skills CLI. - It removes duplicate copies of text-to-cad, among them one from claude.ai's or Codex's plugin directory, and installs this release in their place. It adds CAD's server to Claude Desktop's config and keeps a `.bak` of the file beside it. - It registers the `cad` command (`~/.local/bin/cad`, and on Windows `%USERPROFILE%\.local\bin\cad.cmd`) and writes a receipt of everything it changed. - It moves your computer's CAD server to the new release and lists the apps to restart. It asks nothing on the way: it carries out the plan it prints. A dry run, below, shows the plan before anything changes. Source: docs/install.md, "What the install command does" ## What you need first - An agent app. The install page covers Claude Code, Claude Desktop, Codex, Cursor, Grok Build, Gemini CLI and, with the skills alone, GitHub Copilot, Windsurf, Cline, Amp, Antigravity, OpenClaw, Droid, Goose, Kilo Code, Kiro CLI, Hermes Agent, OpenCode, Roo Code, Trae and Zed. - uv. The install command installs it when it is missing. By hand, check with `uv --version`. - Python 3.14 or newer. The PyPI entries for `cad`, `cad-server` and `cad-mcp` list `>=3.14`, and the launch commands use uv-managed Python 3.14, so uv fetches it. - A network connection on the first start of an app, which downloads CAD's runtime. The page says it may outlast the app's server start timeout, and a restart resumes the download. - On Windows 11 with Smart App Control on, see setup/windows.md. It blocks the CAD kernel. - Node.js 22.20 or newer (`npx`), only for agents that get the skills alone. The Skills CLI's npm entry asks for it. See setup/other-agents.md. Sources: docs/install.md, "App by app" and "Windows 11: Smart App Control"; https://pypi.org/project/cad-server/ ## Main install command macOS and Linux: ``` curl -fsSL https://texttocad.dev/install.sh | sh ``` Windows, in PowerShell: ``` irm https://www.texttocad.dev/install.ps1 | iex ``` Run it again to update everything. Source: README.md, "Quickstart" Options go after `sh -s --`. The install page gives: ``` curl -fsSL https://texttocad.dev/install.sh | sh -s -- --dry-run # print the plan, change nothing curl -fsSL https://texttocad.dev/install.sh | sh -s -- --only claude,codex # only these apps curl -fsSL https://texttocad.dev/install.sh | sh -s -- --no-telemetry # also turn telemetry off curl -fsSL https://texttocad.dev/install.sh | sh -s -- --uninstall # undo what the receipt records ``` `--only` takes `claude`, `claude-desktop`, `codex`, `cursor`, `grok` and `gemini`, and the Skills CLI's ids of the agents under setup/other-agents.md. To read the script before it runs, the page says to download it first: ``` curl -fsSL https://texttocad.dev/install.sh -o install.sh sh install.sh --dry-run ``` Each release carries the script with its SHA-256 checksum on https://github.com/earthtojake/text-to-cad/releases. Source: docs/install.md ## Per-agent notes - setup/claude-code.md: the plugin and the viewer - setup/claude-desktop.md: the Code tab, the Chat tab's config entry, and Cowork - setup/codex.md: the plugin and the CAD tab - setup/cursor.md: the plugin and its local folder - setup/gemini-cli.md: the extension - setup/grok-build.md: the plugin - setup/other-agents.md: the skills alone, through the Skills CLI - setup/windows.md: PowerShell, and Smart App Control - setup/fabrication-tools.md: what the slicing, printing, parts and cutting skills reach outside text-to-cad ## The skills The README's skills table lists them (twelve when we read it). The path in brackets is each one's folder in the repository. - CAD (skills/cad): creates and edits CAD models from plain-language or image requests as Python scripts, with STEP, STL, 3MF and GLB exports - step.parts (skills/step-parts): finds off-the-shelf STEP parts like screws, bearings, motors and connectors - Engineering Drawing (skills/engineering-drawing): dimensioned drawings of a part, as a PDF - DXF (skills/dxf): 2D drawings like profiles, templates, gaskets and cut layouts - URDF (skills/urdf): robot structure files with links, joints, limits, inertials and meshes - SRDF (skills/srdf): MoveIt planning groups, end effectors, poses and collision rules on a URDF - SDF (skills/sdf): simulator models and worlds with frames, physics, sensors and lights - SendCutSend (skills/sendcutsend): checks DXF and STEP files before upload to SendCutSend - DfAM Check (skills/dfam-check): measures mesh printability per process - DFM (skills/dfm): reviews a part for sheet metal, CNC machining or injection molding - G-code (skills/gcode): slices models into printer-ready G-code with OrcaSlicer - Bambu Labs (skills/bambu-labs): sends prints to Bambu Lab printers through Bambu Connect or Bambu Studio ## Update or remove To update, run the install command again, run `cad update` in a terminal, or click the update button CAD shows in its viewer when a newer release is out. Nothing updates until you ask. Each agent's own update commands are in its file. Source: docs/install.md, "Updates" To remove everything the install command set up, the page gives: ``` curl -fsSL https://texttocad.dev/install.sh | sh -s -- --uninstall ``` It takes back what the receipt records, removes the `cad` command and stops the server. `--purge` after it also removes text-to-cad's state and cache folders. A plugin directory's copy that the install command replaced is not put back. Source: docs/install.md ## Usage data The README says text-to-cad sends usage stats and crash reports, tagged with a random ID and never including your files, paths or prompts. The privacy policy (https://www.texttocad.dev/privacy-policy, last updated October 31, 2026 when we read it) says what is sent, and that your prompts, models, drawings and files never leave your computer. Its section 5 gives these ways to turn telemetry off: ``` uvx --no-config --managed-python --python 3.14 --from cad-server==0.10.0 cad telemetry off ``` The line names the release the policy was written for. The other ways: - The Telemetry item in the menu of the CAD app or the CAD viewer (the logo at the top left, over any open model). - Ask your agent to turn off CAD telemetry. - Set `DO_NOT_TRACK=1` or `CAD_TELEMETRY=0` where text-to-cad runs. The policy says this covers only that process and the builds it asks for. It does not change your setting, and a viewer started in the background and the sender go by your setting. - Install with `--no-telemetry`, from docs/install.md. The policy also says a version check asks api.texttocad.dev about the newest release at most once an hour, with no ID. `CAD_UPDATE_CHECK=0` turns it off. Searches with the step.parts skill send your search terms to step.parts. ## Sources - README: https://github.com/earthtojake/text-to-cad/blob/main/README.md - Install page: https://github.com/earthtojake/text-to-cad/blob/main/docs/install.md - Security policy: https://github.com/earthtojake/text-to-cad/blob/main/SECURITY.md - Privacy policy: https://www.texttocad.dev/privacy-policy - The CAD skill: https://github.com/earthtojake/text-to-cad/blob/main/skills/cad/SKILL.md - PyPI: https://pypi.org/project/cad-server/
README.md 9 KB setup/claude-code.md 3 KB setup/claude-desktop.md 2 KB setup/codex.md 2 KB setup/cursor.md 2 KB setup/fabrication-tools.md 4 KB setup/gemini-cli.md 1 KB setup/grok-build.md 1 KB setup/other-agents.md 3 KB setup/windows.md 3 KB
Updated by Mindket to the current version of this kit.
Listed GitHub projects in the same category that share the most topics with this one.
| Product | Stars | Activity | Language | License | Last change |
|---|---|---|---|---|---|
| text-to-cad This page | 25,847 | — | Python | MIT | — |
| RufloShares agents · ai-agents | 81,187 | — | — | MIT | — |
| AgnoShares agents · ai-agents | 43,097 | Active | Python | Apache-2.0 |
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
ruvnet · Kit
ruvnet’s free, MIT-licensed layer that adds agent swarms, shared memory, a console and an MCP server to Claude Code and Codex. It was called Claude Flow. The s…
rohitg00 · Kit
Rohit Ghumare’s free, MIT-licensed course that builds AI from raw math up to agents and production, in twenty phases. Tutor skills for Claude Code, Codex and C…
agno-agi · Kit
Agno’s open-source platform for building agents and running them as services. Your coding agent sets up a template with AgentOS, an API, an MCP server and Post…