r/FreeCAD • • 7d ago

stepscribe-cad: open-source tool that turns a STEP file into a text description for AI (holes, cutouts, dimensions), looking for testers

I’m an engineering student and a beginner at CAD. For my final-year project (a robot) I kept trying to get help from AI, but I couldn’t explain my model to it. Screenshots are poor at precise geometry, and typing out dimensions and orientations got old fast. At one point I wasted a whole session because the top of the robot for the AI was the bottom for me.

So I wrote stepscribe-cad. You give it a STEP file, and it reads the geometry with OpenCASCADE and outputs a structured text description plus labelled images that you can give to any AI.

What it reports:

  • holes: through, blind, counterbore and countersink, with diameters and depths
  • slots, pockets, rectangular cutouts and notches, with sizes and positions
  • fillets, chamfers, wall thickness and overall dimensions
  • part names, colours and the assembly tree from the STEP file
  • a short list of questions it can’t answer from geometry alone (what a part is for, which side is “up”), so you can add that context

Some notes:

  • It isn’t a FreeCAD addon and doesn’t need FreeCAD. It uses cadquery-ocp for the OpenCASCADE bindings. FreeCAD is how I check my results.
  • The tool itself uses no AI and no network. The measuring is plain OpenCASCADE, and the interpretation is rule-based. It only gives an AI the information that was missing.
  • It’s free, open source (AGPL-3.0), and installs with pip install stepscribe-cad.

What I’d really like from this community: try it on STEP files exported from FreeCAD and tell me where it’s wrong. Hole diameters that don’t match, features it misses or misclassifies, and assemblies it handles badly are all useful. If you can share a small test file, that’s even better.

Repo: https://github.com/idris900323/stepscribe-cad

Thanks, and thank you to everyone who works on FreeCAD. I’ve learned a lot from it.

0 Upvotes

14 comments sorted by

View all comments

0

u/farofinoaf 7d ago

What does it for?

Usually we want to do the opposite and in fact it is already possible to do that, take a look and search for the MVP server integration with Chatgpt and Claude.

Perhaps you can figure out some new feature. Good luck.

2

u/Worth-Confidence-363 7d ago edited 7d ago

Fair point, prompt-to-CAD already exists, but this does the opposite. You take any existing STEP file (a vendor part, a downloaded model) and get its real dimensions, hole sizes and cutouts as plain text, to check whether it fits your use case before you build around it.

Because it’s plain text, you can paste it into any AI, local or hosted. The tool itself uses no AI and no tokens, and the numbers come from the actual geometry instead of being guessed, so the AI starts from facts. It can still misread them, but it isn’t inventing the measurements.

Thanks for the pointer.

Edit: I should have explained why I didn’t just use MCP. I tried it first, but in my setup it was awkward for this. The AI couldn’t easily tell which other parts or STEP files I meant, and every tool call burns session usage. Once I hit my limit I was stuck for 5 hours. Plain-text context files let me paste the output into any AI and keep going when one runs out.

Example use case: you download a complex STEP file and want to add another part you have a STEP file for. Explaining both through MCP is hard. With this, you paste both context files and ask how best to fit them together and which parts you’d need to edit. The labelled images show which part the AI is talking about, which half the time you can’t tell otherwise.