Surface Area Of Duct Fittings using Material or Faces

Hi There,
I have spent a few weeks trying to accurately calculate the surface area of duct fittings using native revit families. I have tried a few different options using both a python script as well as nodes and I can’t seem to get an accurate takeoff.
I have tried using element faces and surface area but I found this required me to add specific parameters to the families which might not always be an option.
I tried using a script to work out the material of each family but found this was out in terms of the square metres for objects.

Essentially I am trying to get as close a reading to Fab Parts as possible, especially with items like Square to Rounds which are a tricky geometry. I have read a lot of other posts about recreating and the element using dynamo but this seems a double up of work and again not always going to be an option.

I feel like I am probably missing something painfully obvious but my understanding of the API and dynamo are pretty limited.

Attached is a screenshot of the node graph I created which is close but doesn’t work for all geometry, as well as the 2 different python scripts which don’t seem accurate.

To what end? Said another way, why not build your family library to report the info you need instead of putting a significant amount of technical debt into your projects?

Adding parameters to help calculate the surface area is definitely an option on our own projects and within our own template but we are trying to find a way for when we recieve a model from another contractor. We might not always be able to open up someone elses mechanical model and start adding custom parameters and formulas to their families.

For example in our families I have added the Red Area (redundant area, connector sizes) and Flange area so that helps to use the surface area nodes and I can plus or minus those areas which I don’t think were calculated properly.