I will comment the suggestions by hughinn as a mix with the world of goo system as suggested by
Stormynature.
Just creating some basic variables like density of a metal and how long the weapon is
It would be possible to customize the sword frame yourself. You could set width and length of the blade, and also how width varies from root to end of the sword. Width could go from broad to narrow as it reaches the tip, or it could maintain most of it's width, and then suddenly lead into a tip at near the end of the sword. Width could also increase. Another is if the blade is curved. You can make it very complex.
The materials could themselves be player crafted/gathered and with unique properties.
Some issues I see with this, is categorizing the different blades. Having a set of different materials (wood, iron, steel, obsidian, etc.) simplifies the categorizing scheme into fixed categories. Additionaly it may be advisable to reduce amount of items with custom parameters. A player will usually have no more than a few swords, but lots of crafting materials. Just picking out the materials you want could be very time consuming (or buying), if every material has custom parameters. I'd imagine that if the sword was unsucessful, then you'd want to salvage the materials (you won't get a full return). Number of items with custom parameters should not be to high.
Also, in the world of goo scenario there will always be minor differences, as you won't place stuff at the exact same location, and also (like in World of goo) the construction can have movements. Actually, I believe the calculations behind this are quite expensive, and something which you probably can't do serverside. The building process may have to be done locally, and once completed the server can test the construction. Locally the construction would be constantly tested so that you yourself can see the attributes realtime. The player would click finish, and a still image of the construction would be taken, which will be used in testing. There are problems with this, as someone could alter the game, so that they sent copies, or slightly altered copies of a very good design.
Using a combination of both your ideas into one would be a nice trick to do imo. Either of you have any ideas how you would do that in making of an Axe for example?
I don't think "striking the hammer at a certain time" goo ball construction fits well together. Anyways, in the world of goo scenario. An axe could for instance consist of a wooden shaft, and an iron blade. The frame would then require wood goo balls in the shaft area, and iron goo balls in the blade area.
I intended that a goo ball will represent a material. If yoiu have 30 iron materials, and you can use up to 20 iron materials in the axe design, then you will have 20 iron goo balls at your disposal. If you use all 20 iron goo balls when making the axe, then you have consumed 20 iron materials. You now only have 10 iron materials remaining. If you try to make a new axe, you will only have 10 iron goo balls at your disposal which is probably to little to make a decent axe.
When making the design, it should be possible to remove goo balls from the construction. If you notice that some goo balls should be placed differently, then you can remove them, but at the risk of loosing the goo balls you remove. This is however far better than loosing many more goo balls (materials) into something which is doomed to be a bad design.