Product and Technology Blog

What do bananas and solid models have in common?

You might not think Bananas and solid models have much in common. To me, bananas come in just three main types, green, yellow, and black. Everyone knows they are perishable - yellow can go to black overnight. Solid models come in lots of colors, but not many people realize they are perishable.

While solid models do not rot, each year that goes by reduces the ease of accessibility to the data. We are not talking about bits getting flipped. Using appropriate RAID storage and backups those types of losses can be prevented. The root of the trouble is that solids are a complex technology which is being evolved forward by several competing teams. Because the technology is so complex, solid model definitions are highly linked to the math algorithms used to define and edit them. This means as the technology of solids math algorithms is improved, the definitions used to store the solids need to be updated to match the new more powerful algorithms.

The end result of this progression is two-fold. In most cases 3D CAD software with solids algorithms that are just a few years old will not read solids from the latest version of the same software. At the same time it is common that some solid definitions from 5 or more years ago will not be readable by the latest version of the same software. The nature of this technology is that the software version and the models produced by it are permanently paired together. Many larger companies keep old versions of software available to read old files. Of course the old software is not designed for new operating systems and hardware so a computer must be frozen like a time capsule in order to truly preserve access to the old solid models (don’t try this with bananas).

As bad as all of the above sounds, the history-based modeling approach to solids construction actually makes these problems many times worse. History-based systems (like Pro/E and SolidWorks) don’t store their models as geometry but instead as a step-by-step construction recipe used to build the model. With this approach playing back solid model construction steps in serial can have a different result when paired with a different set of algorithms than was used to originally record it. The more time that has gone by between the recording of the solid into the file and the publishing of the solids algorithms in the software will increase the odds that the file has ‘spoiled’. The playback of the steps in serial might simple fail one step and the model is lost, or a model that does not exactly match the original could be produced.

History-free CAD programs (like Co-Create and KeyCreator) store solids using explicit geometric definitions. When history-free programs read solid models from old files they do not re-interpret the model and they read each piece of the model (faces, edges, vertices, etc.) in parallel. Total failures and solids that don’t exactly match the original are rare.

Due to the present nature of solids technology models are perishable, as are bananas. When you buy bananas you know that they need to get consumed in a matter of days. If you are managing CAD data you need to think about how many years your company is going to need access to its solid models. For long-term storage explicit geometric definitions and history-free software that can access them effectively are the practical solution.