I use SolidWorks mainly for woodworking. Most of our products are made of MDF with PVC edgebanding. Since we usually don't use pre-milling, I have to make SolidWorks automatically subtract the PVC thickness from the length and width of the parts before showing them to me in a BOM or Cut list table. To do this, I use two different methods (one for assemblies and the other for multibody parts). I know you already know many of the steps, but I'll post them anyway in case someone needs them:
Edgebanding in Assemblies:
Create a new sketch at the very bottom of the feature tree in each part, by selecting the main face of the part and hitting the "Sketch" and "Convert Entities" buttons respectively. Then assign a "driven dimension" to the two edges of the newly created rectangle. (I need to do this because my parts art created within the context of the assembly and usually do not have any dimensions.)
I have added four custom properties for my parts in "file properties → custom → edit list". These properties are "total length", "total with", "No. of edge-banded lengths", and "No. of edge-banded widths". Once defined for one part, they can be used for any other part.
In "file properties → custom → property name column", select the above four custom properties. In the "type" column, select "text". In "Value/Text Expression", select the driven dimensions from step 1 for "total length" and "total with". "No. of edgebanded lengths/widths" should be set manually for each part.
We can now use our new custom properties in a BOM table:
Add two new columns to the BOM table and use an equation to get your length and width without edgebanding:
'Length Without Edgebanding' = 'Total Length' - [Put your default edgebanding thickness here] x 'No. of Edgebanded Widths'
'Width Without Edgebanding' = 'Total Width' - [Put your default edgebanding thickness here] x 'No. of Edgebanded Lengths'
Edgebanding in Multibody Parts:
Multibody part modeling using SolidWorks Weldments is by far my favorite method for doing woodworking projects. I don't use structural member though. All I do is click on the weldment button before starting my model so that the "Merge result" option is not on by default in my extrudes, then I use usual extrude, pattern, mirror, etc. features to finish my model.
Edgebanding calculations is fairly easy in multibody parts. After finishing my model, I create a new configuration named "No Edgebanding". In the "No Edgebanding" configuration, I use the "move face" feature from the "direct editing" toolbar or tab to offset all the faces to be edgebanded by 2mm, 1mm, or whatever the default edgebanding thickness is. Also note that you can only have one "Move Face" feature per body. After doing all the offsets, put them all in one folder and name it something like "Edgebanding offsets". Make sure this folder is suppressed in other configurations.
Locate the "Cut list" item in the Feature tree. If it doesn't exist, hit the Weldment button to create it. Right-click on the Cut list item and select "Update" and "Create Bounding Box" respectively. Rename the new folders created under Cut list.
Create a drawing from the file and add a model view to the drawing sheet. Change the "Reference Configuration" to "No Edge-banding". Insert a "Weldment Cut list" table and add at least the following columns to the table.
1- Cut List Item Name (you need to name the folders under the Cut list item in the part.)
2- 3D Bounding Box Length
3- 3D Bounding Box Width
Click on the upper left corner of the table and in the PropertyManager make sure it's set to the "No EdgeBanding Configuration". That's it! You can now easily export the table into a cut optimization application by saving it as csv or excel.