Hello Somar,
Fairly easy with CAD like SolidWorks. If you assign material properties to each part of the assembly, and place it in 3D space so that Z+ is pointing away from the flange, and the flange's dowel (at robot zero) lines up with the one in the EOAT then SW will crunch the numbers. Done it many times and it works well, though better on some bots than others.
It can be done 'manually' with a spreadsheet that you can file away with the rest of your code for use if something on the tool needs to change.
Mass moment for each lump that is on the tool is the square of the radial distance between COG of said lump and toolZ, multiplied by it's mass. Sum of mass moments of lumps will yield Ixx, Iyy and Izz for the tool.
It's generally better to convert weights to mass (multiply by G) except for Fanuc which use Kgf.cm^2 for units.
You do need to be careful with the units and make sure that they boil down algebraically to the correct units before you actually do the numbers.
http://www.efunda.com/math/solids/massmomentofinertia.cfmhttp://www.efunda.com/units/show_units.cfm?Alfa=no&String1=Mass%20moment%20of%20inertia&String2=Mass%20moment%20of%20inertiaHere's a sheet from a R2000iA/165F of which one could trip CollGuard by grabbing at EOAT with a rag wrapped around your hand
while running at 100%. Saved off Linux OpenOffice .ods but should open up fine on Windows Excel.