The CAD design could be passed through a processor to generate the G-code (instructions the CAM processor reads and follows) and then some machinist would review and “fix” tool path or order to make the code more efficient for production.
This captures another angle on the question of whether one should learn a skill or outsource it: if the same person fixes the tool path and designs the component that needs the path fixes, that knowledge will inform their design choices on future parts. If there’s 2 ways you could draw a part and have it work how you need, then having the skills to fix the tool path and the knowledge to spot that one option would have worse path problems than the other will help you differentiate between the actual costs of the superficially interchangeable higher-level design options.
Mostly the benefit to me of doing the full stack of a project—design/cad/build, sketch/draft pattern/ sew garment—come from learning something new about the situation partway through the process, and being able to immediately re-open prior “closed” decisions from earlier in the process to take full advantage of what I realized partway through.
When I do a 3D printing project, my first test prints tell me a bunch of details about exactly how my particular printer handles this one particular part, and it’s low effort to assimilate those observations into changing how I design or orient or support it for future attempts. Or I can revisit the entire plan of printing a part and fabricate it in a different way instead. In sewing projects, my pattern design and mockups and the fabric I’ve picked all inform one another, and when I learn that the fabric would do particularly well or poorly for a given detail, I can immediately revisit the top-level plan and change the details to work better with the material.
This effect is more pronounced when I’m doing projects farther from my established skill set. I rarely get the benefits I’m talking about on projects where I’ve done it a bunch of times already and know exactly what will happen. Once I know exactly how something will go, it’s easy to outsource the process—“here, do this exact task on these exact things and it’ll definitely work”. But more often, I’m not yet at that level of expertise and familiarity, so I’m learning new things in the course of a project, and it’s beneficial to be able to apply the new insights wherever they’re most impactful. The friction of outsourcing a component, waiting on someone else to do it, etc opposes my process of applying newfound knowledge to the project’s entire top-level description.