"But what if I want to do x" is what I heard the most. Like, sure, if you want to make your part on a 3-axis router and then drill one sideways hole, then put that in the markup. CAD always seems to have a feature stack, so apply a 3-axis design rule and discard it before the last step. Similar for multiple setups on a mill, or for surface treatment.
The gold standard still seems to be a signed and printed drawing that is never complete and full of implications. Mapping a design to a factory, or even pricing it, is an art form that has resisted automation. I expected this to change with all the "industry 4.0" push from ten years ago, but somehow that just meant adding wi-fi.
Thinking about the problem, it seems like it would be extremely difficult to come up with a set of design rules that cover everything somebody might want to print.
But would it be possible to literally simulate the printing process? Maybe using some kind of CFD code? I mean, for arbitrary designs this could get really complex. But, there’s a hard limit—the thing actually has to get printed, which is a slow mechanical layer-by-layer process, and the end result has to fit in the print chamber, haha.
Used to be that CAM was entirely separated software, operated by a separate person who usually spoke fluent g-code.(No seriously, old mills had pushbuttons where you could punch in your G72 with coordinates, and the grey beards would do that with no hesitation.)
CAM software simulates the machining process, not dynamically but with constraints and filters that use the results from dynamic measurements. Printer software is actually quite sophisticated there, Klipper knows about machine dynamics as well as how to compensate for acceleration in the molten plastic.
My issue is that all CAM integration only happens after the design stage. I draw up whatever, then check for manufacturability, and then realize that it's failed again. Electronics CAD software for a while now has had real-time design rule checks that don't let me draw an impossible line in the first place, and I kinda want that.
At this time, none that I'm aware of. I am considering some manner of FreeCAD workbench that would integrate slicing to allow specific printing techniques to be applied to specific features of the part. I'm still not sure exactly what it would look like or integrate into the workflow yet.
>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.
There are a number of software packages dedicated to design analysis for injection molding, although the price is far out of reach of hobbyists.
Notably, in fusion 360 this would all be designed in "plastics" mode, and yet that mode is oblivious to whether the part is printed or moulded. I wonder if any 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. I've seen strict design rule enforcement with PCBs, and I have seen sheet metal macros, but nothing for general mechanical CAD.