Why there is a need for a new 3D file format
In the past years, prices for objects created by rapid prototyping or rapid manufacturing systems, i.e. computer controlled production units, have fallen and rapid prototyping has become more and more accessible for the general public. The reasons for this are the development of 3D printers for prices below 1000 Euro and the emergence of commercial printing service suppliers in the internet. This trend of price reduction can be expected to continue as the technology of 3D printing is continuously improved and the popularity and acceptance of the methods are growing. It has already been discussed how this development may lead to new ways of distribution of goods and what major effects it will have on the society. Yet, when thinking about the technological requirements for this development, the focus is mostly on the necessary improvements of the production hardware while the software solutions are commonly taken to be sufficiently developed. In this article I want to point out that this is not the case and what can help to overcome the problems.
Today, the processing and storing of 3D object data falls mainly into one of two different classes: on one hand, computer aided design (CAD) software and data formats are used to precisely describe the morphology of three dimensional objects by defining exact dependencies between its sub-elements like corners, edges, surfaces and so on. These programs are mostly commercial, high in price and a high degree of experience is required to use them. It is therefore obvious, that the use of CAD software will always be limited to a small group of engineers and designers and never become the tool-of-choice for an average end-user. On the other hand, several static structure file formats are in use to store complete objects “as is”. Many of these hold their object information in faceted triangle or vertex mesh structures. These formats serve as output files of 3D scanners and as input files of 3D printers. Apart from that they are often used as exchange formats, since they can be read by many programs. A number of more or less easy to use programs, often under free licenses, are available for editing these vertex meshes. Nevertheless, accurate changes of the structures are often difficult to achieve on high resolution objects and not many users will be willing or able to apply defined adaptions to an existing 3D object. Therefore one major advantage of the rapid manufacturing technology, compared to traditional production methods, is lost that is the possibility to individualize a pre-designed objects to one’s special needs. A simple example illustrates this: Peter needs a part to mount his mobile phone to the front bar of his bicycle. The part can consist of a slot to hold the mobile phone and a ring for fixing it to the front bar. In the internet, Peter finds an appropriate CAD drawing of such part, but soon he realizes that the diameter of the hole in the file does not match the one of his bicycle’s front bar. Now Peter can either learn to use the complex CAD program or he can give up his project.
What helps to solve the problem is an efficient combination of the fully parametrized world of CAD files and the static world of the vertex mesh formats. Such combination could be describe as a well-defined parameter based 3D data file format. This file format must be constructed to store general 3D object data e.g. in a classical vertex mesh. The difference to static mesh formats is that the spacial positions of the vertices are defined by mathematical expressions with respect to each other rather than by static coordinate values. Of course, one can imagine other elements than vertex meshes and more complex dependencies between elements but the vertex example is given here as a simple and illustrative picture. In any case, all relational definitions need to depend on a reduced set of external parameters that were predefined by the designer of the file and that allow useful well-defined changes of the objects morphology. In the above example, the ring diameter of the mobile phone mount can be such an external parameter. An appropriate front-end software can then be used to fill in these external parameters and to give a direct visual feedback of the resulting shape. Since the parameter set was preliminarily reduced and abstracted to a small set of important and intuitive variables, the necessary specifications are easy and can be done by all end-users. If the parameters are properly set, the software can finally convert the object into a static vertex mesh structure. This can be used to fabricate the product on a rapid manufacturing system. An important point is that the access to the software program needs to be free for end-users since only this can guarantee a broad acceptance. To assure this, the development within an open-source project may be desirable.
The combination of such parameter based 3D file format and its corresponding free software solution could have the potential to form a standard for many kinds of printable goods like the pdf format together with the Adobe Acrobat Reader is nowadays for documents. It stays to hope that such standard will evolve in the future to help to gain the full benefits of modern computer based production methods.