Importing a CAD bill of materials into PDXpert 7.x software

This application note applies only to releases PDXpert 7.4 and earlier.

Current PDXpert releases offer a standard import template, as well custom mapping files. See the Importing a CAD BOM help topic for more information about the current implementation.

PDXpert product lifecycle management software uses XML/XSLT to provide a very flexible means for importing bill of materials (BOM) files formatted as XML, CSV, Microsoft® Excel®, or other structured text. Most CAD applications can export a bill of materials directly, usually in a convenient plain text format called "comma-separated values" (CSV). We'll describe the general approach to importing a CAD bill of materials file from a standard CSV file into a PDXpert assembly's bill of materials (BOM) list, called the structure.

To import a structure Markup from an external BOM file

A BOM import can be performed only within the structure's Markup list, and only before the pending assembly revision is approved and released.

Each CAD application exports its data (typically find or row ID, part number, quantity, units, perhaps reference designators or notes) in its own preferred file format (such as Excel, CSV, tab-delimited, XML). The selected import Data Transformations member tells PDXpert how to interpret the import file format.

  1. When you have your structure file ready to be imported, create a new part record or revision, or open an existing pending revision. Select the part's Structure tab's Markup list.

  2. Within the Markup area, open the context menu, select the Import Markup from File command, and select the appropriate import Data Transformations template. The Import Markup from File dialog opens.

  3. Browse to your import file, and then click the Open button. Your file will be imported into the Markup list.

    If you discover an error after you accept the import, you can modify the records that you've imported, or replace all of your changes on the markup by importing a new file. If you import a new file, the current structure markup is first cleared; all of your previous manual and imported changes will be discarded.

What is the format of the Bill of Materials export file?

In CSV files, the first ("header") row defines what is contained in each data record. All subsequent rows contain the data records; data fields within the record are separated by commas. Data fields that could be incorrectly interpreted as a numeric value are enclosed in double quotes; this ensures that text values, such as a part number "00123", are not reformatted as the numeric value 123. In addition, fields that already contain a comma (such as a reference designator "R1, R7") must also be enclosed on quotes; other rules apply to data containing quotes.

Most CAD applications have a standard export file format that defines the number of columns, the header labels, and the data format (like decimal number, text string, or Boolean yes/no value). However, this "standard" format may evolve with new CAD software releases, and may be modified to meet an individual company's needs. So, in many cases, a custom Data Transformation will be required to import bill of materials data into PDXpert. There are, however, several pre-defined formats that are installed as part of the PDXpert system, and these formats are described in the following sections.

SolidWorks BOM

The CSV file for SolidWorks CAD looks like this:

ITEM,QTY,PART NO,DESCRIPTION,MFG/VEN

1,1,100004,"Base Rear Panel Assembly, 0.236"" acrylic, clear, with inserts",Home

2,1,100012,"Belt Tensioner Front Plate Assembly, 0.236"" THK Laser-cut Acrylic (clear)",Home

3,1,100015,"Belt Tensioner Back Plate Assembly, 0.236"" THK Laser-cut Acrylic (clear)",Home

4,1,100016,"Shaft, SS precision ground, 0.1872"" OD x 1.75"" L",Home

5,2,100017,"#8-32 x 3/4"" SS Socket Cap Screw ",Home

OrCAD BOM

The CSV file from OrCAD looks like this:

Item,Number,Quantity,Reference

1,"32099",3,"R2,R3"

2,"30007",1,"C2"

3,"31005",2,"C1,C3"

4,"20001",1,"Q1"

5,"32003",1,"R1"

Using the "General" import template

The current PDXpert software release includes a more flexible standardized import format that replaces this import format, which is for PDXpert release 7.0 to 7.4.

If you have the freedom to specify how the CAD application exports BOM data, PDXpert's general-purpose data transformation defines a comprehensive import dataset.

An example: ImportMarkup-General.csv

Find

Required

Data type: integer ≥ 0

Empty cell: Invalid import file

A set of Find values is typically sequentially-assigned, although they are not required to be consecutive.

Owner Name

Optional

Data type: string, length ≤ 50 characters

Empty cell: Organization Abbreviation is used for match

This column may contain an Organizations member Name value. If the value is empty, then the Owner Abbreviation column will be used to identify match; if Owner Abbreviation is also empty, then the home organization collection member will be assigned. If neither is empty, but no match is found, then a new Organizations collection member will be created.

Owner Abbreviation

Optional

Data type: string, length ≤ 10 characters

Empty cell: Organization Name is used for match

This column may contain an Organizations member Display name value. If the value is empty, then the Owner Name column will be used to identify match; if Owner Name is also empty, then the home organization collection member will be assigned. If neither is empty, but no match is found, then a new Organizations collection member will be created.

Class

Optional

Data type: string of value "Part" or "Document"

Empty cell: derived from Type, or default to "Part"

 If not specified, the Class is derived from a match of the Type Name. If the Type cannot be matched, then the Class is assigned to be a part.

Type Name

Optional

Data type: string, length ≤ 50 characters

Empty cell: Type Abbreviation is used for match

This column may contain a Part Types member or Document Types member Name value. If the value is empty, then the Type Abbreviation column will be used to identify match; if Type Abbreviation is also empty, then the default Part Types member or Document Types collection member will be assigned. If neither is empty, but no match is found, then a new collection member will be created according to the Class.

Type Abbreviation

Optional

Data type: string, length ≤ 10 characters

Empty cell: Type Name is used for match

This column may contain a Part Types member or Document Types member Abbreviation value. If the value is empty, then the Type Name column will be used to identify match; if Type Name is also empty, then the default member of the Part Types or Document Types collection (as determined by the Class) will be assigned. If neither is empty, but no match is found, then a new collection member will be created according to the Class.

The imported item's Class and Type cannot be changed after it's been created. Before you begin importing new items always ensure that the default Type will be appropriate for unmatched items or that the Type is specified in the file.

Number

Required

Data type: string, 1 ≤ length ≤ 50 characters

Empty cell: Invalid import file

The Number is used, along with the specified or default Class, Owner and Type, to match an existing document or part. If the item cannot be matched, then this value is imported as the new part or document number.

Revision

Optional

Data type: string, length ≤ 50 characters

Empty cell: derived from Class

This may contain a revision value. If the value is empty, then the default revision will be assigned according to the specified or derived Class value.

Description

Optional

Data type: string, length ≤ 200 characters

Empty cell: ignored

If item has been matched to an existing item, this value is ignored. If the item cannot be matched, then this value is imported as the new Part name or Document title value.

Quantity

Optional

Data type: real ≥ 0

Empty cell: imported as 1

Specifies the quantity of items used to create or assemble the parent assembly. Set as blank (empty) if item Class is Document.

Unit

Optional

Data type: string, length ≤ 4 characters

Empty cell: assigned the default Unit of Measure

The Unit column, if empty, will be assigned the Default unit of measure value from the specified or derived Part Type.

Reference Designators

Optional

Data type: string, length ≤ 2000 characters

Empty cell: ignored

Any characters may be imported into PDXpert's RefDes structure attribute. The Reference Designators value is ignored if the row does not contain a part.

Notes

Optional

Data type: string, length ≤ 2000 characters

Empty cell: ignored

Any characters may be imported into PDXpert's Notes structure attribute.

This application note was relevant to the PDXpert software release that was current at time of publication. Product changes since that time may affect its utility. We'd be happy to assist you in assessing the applicability of this note to your situation.

Learn More
Application Notes
Working within PDXpert
Working with other software applications