Another way, that I used recently, is to assign different materials to 2x4, 2x6, ply, hardboard etc, then use Generate Report, and Group By Level, Material, Entity Name, Definition Name, then report LenX, LenY, LenZ and Quantity.
The Group by Level shows subassemblies first, at level 2, and their individual pieces of wood at level 2 or 3, depending on whether they are components ‘loose’ in the model, or part of a subassembly frame.
I exported the Generate Report output (a .csv file) then cut and pasted it into a spreadsheet, added extra lines and columns to calculate subtotals and costs.
Entity name in my case was the Component Instance name added manually for different parts with the same component definition, but in different parts of the model, and Component Definition names were mostly automatically generated by the Wood Framing plugin (from SketchUcation Plugin Store) which I helped Steve Baumgartner design and he largely implemented. That was used to create the 2x1 frames for several ‘dummy’ kitchen cabinets for one of our next amateur theatre set productions - David Hare’s Skylight.
Here’s one of the cabinet models, and the corresponding part of the spreadsheet.
Skylight - Cooker cabinet detail.skp
You need to remove the inch (double quote) mark either with a text editor in the .csv file, or in the spreadsheet, and use a decimal length output format (not Fractional) in the Generate Report setup, so it can recognise the dimensions as numbers, not text.