this was a question i asked recently for my own mod.
I was helped a little here but mostly on Skype.
the way I do it is
open Milkshape 3D 1.8.2.
import a pre-existing icon file (.3db) into the scene,
at the top right click to the “Groups” tab, where it says “Root” rename this to something else like Root_gold_new and then press the Rename button.
go to the Material tab and change the name of the Material group, might be something like “COMMOD_gold” just change it to “COMMOD_gold_new” or something.
remove the existing texture from the material by pressing “none” then click the long button next to it and it will ask you to put in a new file, select your new file from wherever you have it saved (Make sure the image in the file is upside down and .tga format before you add it to the Material because the game will flip it round vertically)
press okay and then export it as a freelancer .3db file,
once in the export menu. drag the scale slider all the way to the left, and press “new 3db file” it will ask you to give it a name, do so and then press continue. your file is now ready to put ingame, just put it in the folder where all the other icons are and add the file path name to the commodity you want to have with the new icon and save.
jump ingame, and there you go… new shiny icon. 🙂