There are a set ways to understand the word prototype. In this context we are discussing creating virtual prototypes that can then be turned into a real world prototype. The virtual prototype is a 3D model that can either be a visual one and/or one for manufacturing. The visual one can be made as a mesh, from a mesh modeling program, or it can be a solid surface model made from a nurbs based program. The visual prototype can be rendered out as an image or animation or it can be presented as a 3D model in PDF or in a WebGL format and viewed in a browser. It can be presented in a game engine format such as Realengine, Cryengine, Blender, etc. The mesh format is not meant to be used for production, such as injection molding as most companies that manufacture components won't accept a mesh file. A mesh file can be turned into a STL file which is used in rapid prototyping (3D printing) The problem with creating the object in a mesh modeling program is that they more than likely are not accurate enough to have the parts fit together with any precision. The purpose of a visual prototype is to give a good representation of what it will look like (looks-like). Manufacturing companies want (in general) solid surface files for things like injection molds. Those file types that are generic are SAT STP and IGS the said same solid files can be translated into mesh files, such as a STL for 3D printing. So one would wonder why bother with mesh modeling? Mesh files are a great way to create organic looking objects such as people and animals, what can be difficult to build in a solid surface program can be ideal in a mesh modeling program (and visa versa). Translating mesh files to solid surface is now possible with a little effort and so can be brought into a nurbs program and then modified where needed to be accurate.