4: Self-Reproducing Machine Tools
You may have heard that "no machine tool can make every part of itself." This is true of all conventional machine tools, however, since every machine tool has a work-restraining or -supporting interface surface between itself and its work, and because to allow for arbitrarily thin work, that interface must be inside the machine's work envelope, every machine tool can approach a finish cut on itself, at that interface. Machine tools actually make features of parts, not entire parts, which are made by machine tools groups in factories.
Since machines are built of interchangeable parts, there are two counts of the number of parts in, and therefore, the complexity of, a machine tool. One is the total number of individual parts distinct from each other, and the other is the number of distinct part types, a smaller number. These part types are defined by features, and "feature projection" is essential to the operation of machine tools; the character of a rotating or sliding way surface is projected to the work surface. For a machine M with n individual parts from a catalog of m unique part types, n > m. Further "normalization" of the parts list database is possible, because features are shared between parts, and because there are standards for interchangeable parts.
Let us consider a machine tool that can make one of its own parts. It can make the fraction 1/m of its catalog of parts. If that part is used p times, it can make p/n of its full part count.
Consider that one machine might make a part of a different machine. This must be how the large number of machines we do have came to be. Without using subscript notation, we can just write that such a machine can make a of its own parts and b of another machine's parts. With enough machines and enough variety--and this is how the world of industrial technology actually came to be here--a group of z machines making parts for each other can self-reproduce. Each machine is responsible for a category of unique part types, or looking further into the nature of hte problem unique part features.
Continuing to think about this in terms of features, it turns out that no machine makes any one of its own parts excepting the simplest parts with only one feature. What actually happens is that designers who are familiar with machine tool capabilities design from a catalog of features, and each machine makes certain feature types. It is impossible to exhaustively index a conventional machine tool with a notation "made by machine x" for each part, but it is possible to notate each feature of each part and assign it to a particular machine. In fact that is a routine production engineering job.
The main reason to do this is that we won't be coming back to resupply from any first trip to colonize Mars or Moon, so we will need the lightest possible package of the most capable technology we have when we go. Another reason is that here on Earth, we need another way of doing things. The one we have hasn't worked for us. Our climate crisis is one piece of evidence that this is true.
A key point is that while the number of individual parts in a group of machines may be high, there are fewer distinct part type, fewer distinct part categories, fewer still distinct features, and only a small number of basic features which combine to make all the parts needed. Even if one machine is needed for each basic feature, a number of machines equal to the number of basic features will self-reproduce and produce useful work output as well.
To fully explore the feature concept we can consider 3D printers as additive machines, foundry operations and bending as neutral, and conventional machines as subtractive in character, so that production scheduling by the needed production engineers can proceed. The result is the Bradley shop described at http://www.molecularassembler.com/KSRM/3.12.htm