Dynamically creating models

Is it possible to dynamically create a 3D model with Unity? For example, could an end-user, presented with the right tools in a Unity-based app/game, create a completely new 3D model. What about modifying an existing 3D model? If that's possible, could that model then be saved to an external file?

Yes, yes, yes, and yes.

http://unity3d.com/support/documentation/ScriptReference/Mesh.html

http://www.unifycommunity.com/wiki/index.php?title=MeshSerializer2

http://msdn.microsoft.com/en-us/library/system.io.aspx

Here is a detailed explanation of how to create Meshes through code: Unity - Manual: Example: creating a quad