Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations GregLocock on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

External BOMs

Status
Not open for further replies.

drawoh

Mechanical
Oct 1, 2002
8,912
Our company uses BOMs that are a separate document. We insert the SolidWorks BOM outside the titleblock, and copy and paste the information from the BOM, to an external Microsoft Excel file.

Someone has just asked me if it is possible to have an external BOM written-to automatically when we save an assembly drawing. Is anybody out there doing this?

There was a thread about this a couple of months ago, but no one came up with anything. I thought it might be worth another try.

I have experimented with the BOM save-as feature, but this excludes our BOM document headers, and our numbering system has leading zeros. The leading zeros also mess up Microsoft Access, so this is probably not an option.

Hint:

Don't create numbering systems with leading zeros :(

JHG
 
Replies continue below

Recommended for you

External BOMs have merit in my opinion. I've been working off and on to develop a utility over the past year or so that would export the assembly contents directly to an Excel file without going through the intermediate step of assembly drawing creation so I've given the question at least some thought.

Theoretically one might be able to write an add-in that detects the save event in an assembly drawing and exports a copy of a BOM to an Excel file. I don't know about cross-linking in order to update an existing Excel file though, never tried to do that. It seems to me that overwriting any existing external BOM each time might be easier to program. It would require some thought to code but it should be doable to one extent or another.

Chris Gervais
Mechanical Designer
American Superconductor
 
Chris,

Interesting!

Overwriting the external BOM is not a problem. It is an automatic database output, so I would not want anyone maintaining it manually. If someone wants to see a change history, they would look at the assembly drawing.

Let's take the case that my assembly drawing has a parameter PARTS_LIST in the custom profile, containing the document number of the BOM. I know the name of the assembly. I know the revision of the assembly, and I _need_ to make this match the BOM. At the point someone clicks the save button, the existance of the PARTS_LIST parameter tells us it is an assembly drawing.

One of my rainy day projects is to write a VB program that runs inside the assembly drawing, reads the BOM, and writes it out as XHTML. This comes some time after I learn to program in VB of course.

This has to run from the assembly drawing, since I need the item numbers, and I need to exclude non-parts like weld beads.

XHTML is by far and away to most understandable XML document type, and I can use a style sheet to flag significant information.

All of this is worthwhile if I have an application downstream that can use all of this information. Right now, I don't. I ought to be able to write out the BOM in Excel format, but I won't know how to do this in the forseeable future.

JHG
 
What I do is create the BOM directly in Excel. With the assembly as the active doc., I open an Excel file with a VBA macro that reads the information from the assemby and put it on cells. There is no need of copy...past and it's very straightforward. With an Excel VBA macro there is virtually no limitations about how to control the information you want. Then just save the file with a meaningfull name that will relate with the assembly. Of course there is no automation on the saving event, but I think the only way to do that is using C+, instead of VBA, and create dll's. I leave that to the gurus.

Regards
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor