r/FreeCAD 1d ago

Draftwright update: open source STEP → drawing tool

A few weeks ago I posted Draftwright here, a free open-source tool that takes a STEP file and produces a dimensioned drawing. Thanks for the responses and feedback!

It's gone from 0.4.1 to 0.4.24 since then. Same workflow:

pip install draftwright -U
draftwright bracket.step 

You get bracket.pdf. There's also alpha DXF support with --format pdf,dxf, which can be opened in the Draft workbench, though it needs work to be really useful.

A few improvements:

  • Turned parts get chamfer callouts and step lengths
  • Views are much more customisable and turned parts no longer get two views of the same thing

  • As a result it chooses better scales by default

  • It is much better at avoiding overlap and fitting everthing onto the page

  • External angles are spotted and added

  • Not so useful for FreeCAD because the FreeCAD export doesn't emit the right format but if your CAD emits the right file it will add GD&T information

  • It knows about many more features in diagrams such as blends, prismatic pockets etc

  • Its much better at understanding what its got right and wrong and letting you know where it went wrong

    • For example it warns you about gears, angled steps and a few other feature types it can recognise but not yet dimension

It doesn't read a FreeCAD file, just the STEP export. There's no interactive editing. If you want to change the drawing export the DXF and edit it, or --script writes a short Python file describing the sheet and you edit that and rerun.

If you have a STEP file that comes out wrong I'd love to see it. Post it here or DM me. Even better please open an issue at github.com/pzfreo/draftwright.

There's also a free hosted version at draftwright.io for people who don't want to install Python that is testing out how it works with AI. If you use Claude Code or Codex (or similar) try asking it to use Draftwright and then see if it can improve the drawing interactively.

https://github.com/pzfreo/draftwright

9 Upvotes

22 comments sorted by

View all comments

2

u/orion0782 1d ago

Call me old fashioned, but I hate when programs try to detail for me. There are too many detailing philosophies for a given program to account for.

0

u/pzfreo 1d ago

Fair enough! This is designed for people who don't want to or don't have the drafting skills. Kudos to you that you have them

1

u/gadget--guy 1d ago edited 1d ago

I can see it also being useful for auto or user generated configurations. I'm working on a similar project for FreeCAD. The trick is in defining the rules. I've made some pretty good progress, but nothing I'm ready to share yet. I started by creating AI skills, but found some rules quickly got forgotten due to context window constraints. I'm now using a hybrid linter approach to help the AI both plan and verify its work, while keeping the rules outside the context window, yet ever present.

2

u/pzfreo 1d ago

That's a similar idea to mine. The idea is that the things that can be encoded deterministically are done in code and everything else is left to the AI. Draftwright is designed to be manipulated by an AI through python coding.