How to calculate only external surface area?

I have an assembly made up of tubes and plates. I need to calculate the surface area only for the external surfaces of the assembly so as to calculate how much Paint I need.
So far I have not been able to find a solution as SW general gives the overall surface area which includes inner surfaces as well.

Thanks

One way I can think of, depending on the complexity of the assembly. Create a new part in the assembly, edit that part and do a zero offset of the major exterior surfaces. This part can be analyzed to give you the total surface area.

Wouln’t selecting the faces manually and then using the measure tool give you the surface area you require..?

Save the assembly as a part.

Use this option:
image.png
Then open the part and check surface area.

We’ve looked for this a fair bit as well. Attempting to estimate paint usage so internal areas, shaded areas, laminated areas must all be excluded. We didn’t find anything that automates it so still doing manually part by part (weldment).

IF our welded assembly models were perfect, ie watertight with no large partially covered faces and no laminated faces with gap then maybe it could be automated with the use of existing tools but we don’t have any models like that.

After investigating this off and on over several years I’ve thought that maybe a solution might be in graphics/OpenGL side, which I know nothing about and is way over my head. But, it seems there might be a possibility to get the polygonal model then use a light source to illuminate it and somehow track the polys that the light could hit while rotating the part. Sort of using graphics API to “paint” a part with a single light source. Probably a bunch of twaddle; I said I don’t know anything about graphics programming.

I tried doing that. It still gives me the overall surface area. Only when I open one of the parts individually does it allow me to select different sections and give its value.

I did this. Still giving me the overall value. It does not even let me stitch it together.

Works for me:
image.png

Where’s zxys001 on this? This seems like a surfacing problem.
Someone else who may have a suggestion is Alin.

I am working with Artem Taturevych (actually he is doing all the work) to add this functionality to CAD+. I suggest reaching out to him directly, because his solution is simple and effective!

Maybe a simple config (Painted Faces Only) where you “Delete” the masked faces from your solid body (the back plate surfaces or the perimeter which divides the front painted surfaces) and then select/calculate only what faces remain.

Check this macro https://www.3dcontentcentral.com/macros/Macro.aspx?id=341816

The 3d content central does not work for newer Solidworks versions. Is there a newer macro for the updated releases?

The problem here is pipes or closed profiles. When I had to count the surface of profiles for powder coating or anodizing, I dealt with it by changing the internal contours of the profile to a construction line. This way you can deal with this problem relatively quickly
image.png

I tested it on 2022, and it worked as expected. So, would like to ask if you are getting any errors?

Deepak,
I get a Run-time error - File not found
When I debug, “Kill DefeaturedPathName” is highlighted.

What SW version you are currently using? And are you running the macro from macro button, via editor or keyboard shortcut? Make sure you run the main sub only.

Deepak,
I am currently running SW2023. I used the Tools..Macro..Run and selected to file.This could be the problem. I will try again.

Make sure you have extracted the SWP from the zip file (I know this is stupid advise but have seen people trying to run the SWP file directly from the zip).

Will it be OK for you to share your screen, and we can debug it together?

We have thin walled components/assys (like tanks), create a property called PaintArea and use the surface area / 2 to return an estimated outside surface area