Actually you can, and there are two different ways of doing it...
The first is to have the configuration name be the part number. To do this you must go into each and every part and subassembly and change the Bill of Materials Options (inside Configuration Properties, as show) for each configuration in the model. This sounds like a big task but That's what it's gonna take. You are goin to have to change it from saying Document Name (SW Default) to Configuration Name, and then name each configuration what you want it to be.
The second, and preferred by me, way is to use a configuration specific custom property. The trick to using a custom property is that the Bill of Materials Options (inside Configuration Properties, as show) must be set to User Specified Name and $PRP:"PartNumber" (where PartNumber is the name of the configuration specific custom property being used). Again this initial change must be made to each configuration in every single part and sub assembly in your assembly.
Here are several reasons(In no particular order) as to why I prefer this method:
- Confugurations can be named as you please
- Custom properties are easier to edit than configuration names
- Changing a custom property will not affect the ability for an Assembly to find the correct configuration
- Part number can be controlled in the same place as all the other properties in a model
- All the other items in the BOM are custom properties (or should be, and I mean it)
Here's another tip when doing this... An easy way to tell if all the configurations in a particular model are properly set, is to simply look at the configuration tab and to the right of the configuration's name it should say [ $PRP:"PartNumber" ] as shown.
And now for the best part... to all of you who bothered to read this whole article I am including a macro that will add a configuration specific custom property to each configuration and rename the Bill of Materials Options to User Specified Name with the value set to show the property name specified. Click Here to Download The use of this macro is at your own risk. Graphics Systems Corporation is in no way responsible for any damages that occur as a result of using this macro. The macro is provided as is and will not be supported in any way.
All of the knowledge necessary to write this macro can be achieved through the SolidWorks API class offered at Graphics Systems. Please see our class listings for the next available class.

Why not just use a design table? The partnumber parameter can be set to $C for the configuration name, $P for the parent configuration name, it can be left blank for the document name and anything else you enter becomes a user-specified value.
Posted by: John Burrill | February 20, 2007 at 08:55 PM
Design tables are good for generating a lot of configurations quickly, but when it comes to managing custom properties there's not so great. Maybe, if you want to enter all the part numbers for 100 configurations editing them through a design table would be good. But, when you have to change just one the design table becomes slow and difficult. What if you don't have a part with only one config do you really want it to have a design table for no reason?
Posted by: Paul Niedfeldt | February 21, 2007 at 07:12 PM
Has anybody gotten this to work in 2009? All I get is a blank cell in the Solidworks BOM in the "PART NUMBER" column of the part in question when I tie a custom property to the "user specified name"
Posted by: Erik | May 22, 2009 at 01:29 PM
I have verified that this works in 2009. Here are some things to check:
1. Check that the Config name shows [ $PRP:"PartNumber" ] as shown in the picture
2. Edit your Config specific custom properties for that specific config and make sure a custom property named "PartNumber" Exists.
3. Make sure the the property from #2 has a value in it.
4. In your BOM make sure the column is set to the Part Number radio button and NOT set to the custom property PartNumber or to something else and just named PartNumber.
Posted by: Paul Niedfeldt | June 03, 2009 at 10:11 AM