I'm actually working on something along the lines of:
>CAD engine can do "production-aware design" that constrains design to the capabilities of standardized machines, e.g. keeping a metal part 3-d millable.
by modeling a part by only using subtraction based on tooling:
https://github.com/WillAdams/gcodepreview
you'll need: https://pythonscad.org/ but it's allowed me to do pretty much everything I've tried out in it thus far, and I'm putting the finishing touches on a joinery module which should let one make pretty much anything of wood, and metals should be much the same --- even turned out a thread cutting program as a proof of concept a while back.