If you're after modeling program suggestions, I would very highly recommend Blender ands/or 3DS Max.

Max is the industry standard of sorts, and with practice you'll be able to do just about anything you could want with it, but unless you can.... *ahem* acquire.... it for free, it's rather expensive. :\
Blender however is completely free. Here:
http://blender.org/cms/Home.2.0.html
It has enormous power of its own, but it's a bit hard to learn due to how it's pretty much entirely operated through keyboard shortcuts.
The tutorial I was started off on (here:
http://freespace.volitionwatch.com/fs2/ ... ghterguide ) with gives a great intro to those shortcuts though, and once you have the shortcuts down, what you can do with it is pretty incredible.
In fact, I'd go as far as saying that its raw mesh editing capabilities go above and beyond Max's.
Also, though it won't help much if/until you get the basic drift of Blender's interface, here's some tips I wrote up for a member over at HLP:
While Blender is much more powerful than it appears, there are some things I _really_ wish I'd found out about sooner:
- The new (open source) versions added a mirror tool. To use it in edit mode, select the verticies you want to mirror and press 'm' to bring up the mirror menu. To flip a whole model while out of edit mode, it's ctrl+m.
- When moving, scaling or rotating, you can hold ctrl to move/scale/rotate in set increments to allow for precise manipulation.
- Holding shift in the same situation will move/scale/rotate with much more precision, and ctrl+shift will do the same using small increments.
- Once having pressed the move/scale/rotate key, you can then press x, y or z to constrain the action to that particular axis. (Ie, if you want to move something straight up from a weird camera angle, you'd select it, tap g and then z. Then you'd only be able to move the object straight up or down, which can then be combined with the afore-mentioned shift or ctrl functions to move it in whatever way you want straight up.)
- Having selected one/many verticies of an object, pressing ctrl+'+' will select all verts directly connected to those selected verts. This is great for quickly checking if one chunk of geometry is actually connected to another.
- Middle-clicking & moving the mouse will free-rotate the whole view of the model around the centre.
- Shift-middle-clicking will transverse the view along the camera's plane.
- There's a sub-divide button in the edit control pannel down the bottom (top-middle of the mesh tools while in edit mode. To get the edit menu tools to appear press F9.) Pressing it while 2 verts (with an edge between them) will split the edge in half, and pressing it when you have a face selected will quater the face.
- You can make a dynamic copy of an object by pressing alt+d while not in edit mode. This second copy will mimmic all edits performed on the original (and vice-versa actually) while in edit mode. Combine this with the ctrl+m thing to do mirror modeling with however many copies you like)
- Pressing f when you have 2-4 verts selected will create an face or an edge between them - whichever is appropriate. You can use this to pretty much sculpt a ship from scratch, instead of growing it out of a primitive.
- If you want to create a tapered point, you can weld verts together by sizing them down until they look like a point, and then pressing the 'Rem Double' button (also in the mesh tools - 3rd button below the subdivide one).
In addition to that, you have this:
http://www.blender.org/modules/documentation/htmlI/ which documents the many varied (and sometimes rather...odd) functions of blender.
Good luck. :yes:
Keep practicing and soon enough you'll find yourself half-way through building way overdetailed monstrosities like
this wondering what in the world you were thinking when you began.
