I have achieved this thru customization.
To answer your questions, the material and the mass (which is considered weight by customer) are transferred from Creo and CATIA thru attribute mapping.
And then we have a custom tab where the custom code takes over reading the product structure and the value transferred and rollup code rolls up the value at sub-assembly and at the parent assembly levels and ultimately at the product level.