Thanks,
Mark
This is possible, but not very intuitive. First off I currently use SolidWorks Professional 2011 x64.
Start with your SolidWorks drawing. If you already have a Flat Pattern as one of your views great, if not you can insert one outside of the border of one of your sheets since it does not have to be present after you do these steps in order for this to work.
Click on the edge of your flat pattern and select open part, which will open your part in the flattened state.
Click Sketch and select the surface of your flattened part.
Use Line command and trace the overall length and width of your part as one line for each side. Then add one more random line segment anywhere on the sketch.
Use Smart Dimension and create a linear dimension on each side you traced to obtain the value of each side of your part. When you get to the random line you created you need to build an equation. The resulting dimension of this line will provide the data you want to display in your B.O.M. The equation is basically length times width divided by 144 to convert square inches to square feet. Do not type this in, just create a Smart Dimension and when the value pops up, click the down arrow to the right of the value and choose Add Equation…. Then select the first dimension, type an *, then select the second dimension, then type /144 and click OK. The value returned should be the square footage of the rectangle of material required to cut the part. Click Exit Sketch.
Now to make it to where you can use the data in you B.O.M., first select your Sketch# in the Feature Manager Design Tree so it highlights and the dimensions will show up but you are not actually editing the sketch. Now go to the File pull down menu and select Properties… and navigate to the Custom tab. Create a custom property in the Property Name column called something like SQFT or MATL REQ, whatever you want to call it, but remember what you pick. Tab key over to the Value / Text Expression column and then in your drawing window select the dimension that has the formula and the value should display in the Estimated Value column. Select OK and then close the part file. If you opened the part from the flat pattern in the drawing, then make sure it stays in flat pattern mode when you close it. Same goes for if you open the part from a folded view, then the part file must be closed in folded mode or it will mess up all your views.
Now we need to display that data. Once you are back in your drawing file, you can delete the flat pattern view if you don’t need it. In your B.O.M., double click in the cell you want the square footage to show. Select the Link to Property button, select the radio button for “Model in view specified in sheet properties”, click the drop down arrow and choose the custom property you created in the part file. You can also add characters after the linked property like “_SQFT”.
For updating the value, all you need to do when the size of the part changes is remember to activate the flat pattern and then deactivate it which will force the dimensions in the dummy sketch you created to update.
Hope this helps.
If I was trying to solve this problem I would just create another configuration, and pull the Weight through the Custom Properties without having to use a macro.
The only reason I say that is because I think you would have to create another config anyway? I say that because the macro would have to know what to pull the weight from... and if you go to the trouble of making a seperate config, the Weight can be pulled with a configuration specific Custom Property anyway!
So, if you disagree, then how would you define what the "uncut" shape/volume is to begin with? Taking that information and putting it into a custom prop. with a macro is fairly straight forward...