The most important characteristic of a fabricator data format is flexibility. Because if there is one type of data that I can guarantee will be needed in the year 2000, it is the data type unknown in 1995.
In 1995, a data format capable of communicating to all the fabricators on the market today needs to convey the following classes of information.
- Peripheral geometry. Either (a) a set of closed surfaces representing the peripheral shape of the object to be built, or (b) a sequence of a set of closed curves representing the peripheral shape of flat slices of the object. If the geometry is given in three dimensions, the user may be able to specify an orientation of the object in space so as to determine the slice planes.
- Hatch. Fill pattern within the slices, if applicable.
Other issues, in particular the fabrication material, are determined on a case by case basis by the operator of the fabricator. Usually these issues are decided on the basis of the needs of the technology, with little regard available to the preferences of the creator of the design file.
We can enumerate many elements of information that may be worth conveying to a future fabricator. Our challenge is to conceive a data format which is efficient for todays primitive devices, yet is capable of maturing naturally to handle this kind of complexity.
- Material within a region. Aside from just stating what material is present, we must allow for various levels of detail in the representation. For example, it may be sufficient to specify that an entire region be filled with fiberglass. In other cases, we may need to specify the curved contours within which the fibers should lay. In the most demanding cases, however, there may be a concern for specifying the precise path of each individual fiber.
- Absence of material. This should be included in the specification of material as the specification, no material. But the format should allow this to be done efficiently, so that all the bits needed to specify a complex material are not wasted on an empty region.
- Color. Properly, this is a subset of the specification of material, because pigmentation is a physical characteristic of a material. But since color can be achieved by mixing of base colors, one may not want the data to specify the voxel-level distribution of pigmentation, but only specify the net hue and saturation. (If we can specify a luminescent material, we may also want to specify intensity! This is an example of why the format has to be flexible.) The distribution of pigmentation would then be calculated by the fabricator according to its own capabilities to reproduce the specified color.
- Material properties, such as strength, electrical conductivity, index of refraction, melting temperature, etc. As in the case of color, these properties can also be determined at the voxel level by a detailed specification of materials, but it may be more efficient to treat them at a higher level. Also, perhaps we would rather specify only material properties, and we dont care what materials are used as long as these properties are achieved.
- Variations of properties. We may wish to specify inhomogeneous and/or nonisotropic properties. For example, we may have certain strength requirements along the axis of a shaft, while the transverse strength is less important.
- Location of region. In 2-D raster scanning, the location of a pixel is implicit in the logic of the scan. But in vector scanning, the instructions must tell the hardware where to go. We need this capability in 3-D fabrication.
- Size and shape of region. In some cases, we may wish to specify the fabrication voxel-by-voxel. But this will be wasteful in large regions with some element of uniformity. So we should be able to describe a closed surface and specify the material and/or properties to fill it with.
- Texture and patterns. Without specifying the detailed geometry, we should be able to specify that a surface is stippled or that a region is foamed (i.e., permeated with bubbles of a certain size and frequency). A precursor of this is found in todays hatch patterns and in perforated interfaces between the primary object and support structures.
- Tolerance. We should specify how accurately the geometrical and mechanical parameters listed above have to be reproduced in solid material, such as by specifying acceptable error ranges.
- Temporal order. All of todays fabricators build in sequences of flat layers. When we do not have this restriction, we may wish to specify the order in which certain regions are fabricated.
- Alternatives. In porting data from one fabricator to another, there will be cases where the second machine will not have all the capabilities of the first. Rather than allowing the second machine to substitute what it thinks is the best alternative material (or worse, causing the second machine to crash), we may want to include some instructions analogous to if you dont have ABS, use nylon, etc.
- Cost and time. In a fabricator capable of working in multiple materials and various processes, the cost of material used and the fabrication time may vary widely for any given region being fabricated. We may want to tell the fabricator not to spend more than a certain amount of time and/or money on a certain region.
- Priority. Many times, the fabricator will not be able to meet all the requirements we specify. Rather than have the process fail, we may wish to set relative priorities for some of the requirements. For example we might want to say something like, Flange A must have an ultimate tensile strength of 50 MPa, whatever it takes, but for flange B, which is reproduced 300 times in this design, make it as strong as you can without spending more than $0.02 and 3 seconds on each one.
- Fluid components. If the fabricator is capable of making foamed materials and other configurations that involve closed cavities, the question arises of what is inside those cavities. Is it air, vacuum, or some liquid of a specified density and other properties?
- Smart materials. At the fringes of what is imaginable today, what happens when we start to fabricate in smart materials, so that geometry and other properties are not fixed and constant? Future users designing robots will need to specify not only the static material strength of limbs, but also the active strength of joints (e.g., ability to lift a certain amount of weight). Today we think of thermal properties in terms of melting temperatures and heat capacities, but future designers will design homeostatic systems in which they want to specify the actual temperature of individual components.
- Bi-directional communication. Another future capability to consider is that of feedback between the fabricator and the transmitting computer. Future fabricators will monitor their progress and be able to report problems back to the computer. In this scenario, fabrication will be a real-time, interactive process and the data format must be bi-directional.
A possible strategy: Handshaking protocol
It may be impractical to design a single data format capable of growing from meeting todays requirements to tomorrows. Perhaps a preferred approach would be a handshaking protocol that allows for the implementation of a variety of formats, with the transmitting computer and fabricator beginning their conversation by agreeing to a format they can communicate in. This would be similar to the procedure used today between two modems or fax machines to establish a compatible baud rate and other parameters of communication. So, for an example in terms of todays formats, the computer might say to the fabricator, I would like to send you a series of SLC slices, but if you are not equipped to interpret that, I can send you the data in StL.
If you found this interesting, youll also want to read:
and other articles published at fabbers.com.
- The Origins and Direction of the Fabricator Revolution, the farthest-reaching discussion of future fabbers, including “accretive fabrication,” modeled on the growth of biological systems.
- Growing Autofab into the 21st Century, based on an invited lecture at a United Nations conference in Ibadan, Nigeria, discusses the three basic areas of research in fabber development: process, materials, and control, with examples of the sorts of problems studied in each area.
| A fabber (short for digital fabricator) is a factory in a box that makes things automatically from digital data. Fabbers.com is under development to bring you the latest information on fabber technologies, applications, and markets.|