Open collaborative design/Vast libraries of machines and components
As in software, it would be useful for components to be re-usable in the sense of being able to be incorporated in many different machine designs, so should be made as modular as possible – perhaps containing details of parameters vital to their function so that their scale and shape can be altered to fit. This will enable a huge reduction in duplication of effort and allow people to focus their efforts on creating new machines of increasing complexity, building on the work of others.
To aid the re-usability of components (and more complex parts) the CAD software should be able specify the vital dynamic functions of a component or assembly, so that it can easily be modified to be incorporated into new designs while ensuring it still works correctly.