All objects will consist of the blocks, so for now, everything will be a cuboid. The "builder" will need to approximate the shape of the object using that.
So, to create an object, you can specify a length, width, and height, and specify an origin from which to construct the rest of the object.
createobject 1x1x1 5x10x50
This would create a cuboid of 5 x 10 x 50, with the lower leftmost corner (from the creator's perspective) being at 1x1x1.
This object will exist in the DB, and will have a set of descriptions. For example, the builder could give a separate description for each of the 6 faces of the cuboid, for certain distances (similar to how KaVir's idea for distance-based descriptions works), etc.
It is important to note that the cuboids will be hollow, to allow for interior building. I am not exactly sure how effective a text based OLC will be for creating interiors. At the very least, the user would have to have very good visualization skills...
To create a door to the previously created building, it could be, perhaps:
delete 3x1x1 2x5x1
Which would create a "hole" in the wall of the building.
Hmm, I can see this getting very difficult with more complex structures. The building view would need to have a great deal of technical detail about the coordinate system, obviously.
I don't intend for any 3D modelling tools to be used, although integration with them could be cool. I wonder if Blender could be used somehow...