Package: bomcheck
bomcheckWhat the program doesThe bomcheck.py program compares Bills of Materials (BOMs). BOMs from
a CAD (Computer Aided Design) program like SolidWorks are compared to
BOMs from an ERP (Enterprise Resource Planning) program like SyteLine.
The CAD and ERP programs must be able to export to Excel files
because that is where bomcheck gathers data from.How to installAssuming that you already have Python on your machine, use the package
manager softwarepipthat comes with Python and run this from a command line:pip install bomcheckCompared BOMs come from Excel filesThe name of a file containing a BOM from the CAD program has the syntax:PartNumberOfBOM_sw.xlsx.  That is, names like 0399-2344-005_sw.xlsx,
093352_sw.xlsx, and 35K2445_sw.xlsx are all legitimate file names. The
names of the files from the ERP program have the same syntax, but instead
end with_sl.xlsx. Thus the names will look like 0399-2344-005_sl.xlsx,
093352_sl.xlsx, and 35K2445_sl.xlsx. The program will match the
0399-2344-005_sw.xlsx file to the 0399-2344-005_sl.xlsx
file, and so forth.Multilevel BOMs are allowedA file can contain a mulilevel BOM.  In which case individual BOMs are
extracted from a top level BOM.  For a BOM from the ERP program to be
recognized as a multilevel BOM, a column named "Level" must exist
that gives the relative level of a subassembly to the main assembly.
(The name "Level" can be altered with the file bomcheck.cfg.  See info
below.) The Level column starts out with "0" for the top level assembly,
"1" for part/subassemblies under the main assembly, "2" for a
part/subassembly under a Level "1" subassembly, and so forth. From the
CAD program, it is similar.  However item nos. indicate the Level, for
example item nos. like 1, 2, 3, 3.1, 3.2, 3.2.1, 3.2.2, 3.3, 4, etc.,
where item 3 is a subassembly with parts under it.How to runEnter this on the command line to run:bomcheck(An easier way to get started is to usebomcheckgui)Sample outputAn Excel file is output. Shown below is an example of the result of a BOM
comparison:assyItemIQDUQ_swQ_slDescripton_swDescription_slU_swU_sl730322130031XXXX1HOUSINGEA130039XXXX1HOUSINGEA220978‒‒‒‒11SPUR GEARSPUR GEAREAEA275000‒‒‒‒0.350.35TUBETUBEFTFT380000‒‒‒‒22BEARINGBEARINGEAEA441530‒‒‒‒11SHIFT ASSYSHIFT ASSYEAEA799944‒‒X‒11SHAFTAXLEEAEA877325‒XX‒31PLUGSQ. HEAD PLUGEAEA900000‒‒‒‒0.750.75OILOILGALGAL441530433255‒‒‒‒11RODRODEAEA500000‒‒‒‒11SHIFT FORKSHIFT FORKEAEAK34452‒‒‒‒11SPRING PINSPRING PINEAEAThe column IQDU shows Xs ifItem,Quantity,Description,
orUnit of measure don't match between the two BOMs. Q_sw is the quantity
per the CAD BOM, Q_sl per the ERP BOM, and so forth. In the example above,
1309031 is in the  ERP BOM, but not in SolidWorks. 130039 is in the CAD's BOM,
but not in the ERP's BOM.Units of measureIf a Unit of Measure (U/M) is not given for a value in the Length column of
a SolidWorks' BOM, then the U/M is assumed to be inches unless explicity
specified, e.g. 336.7 mm. The program recognizes the follwing U/Ms:in, inch, ", ft, ', feet, foot, yrd, yd, yard, mm, millimeter, cm, centimeter, m, meter, mtr, sqin, sqi, sqft, sqf, sqyd, sqy, sqmm, sqcm, sqm, pint, pt, qt, quart, gal, g, gallon, ltr, l, literWhen the program is run, values will be converted to the U/M given in the ERP's
BOM.  For example, if the ERP program uses FT as a U/M, then comparison results
will be shown in feet.bomcheck.cfgBomcheck has a configuration file available named bomcheck.cfg.  With it the
default U/M measure can be switched from inches to mm, or to some other U/M.
Also, column names can be changed, and so forth.  Within the bomcheck.cfg
file are explanations about settings that can be employed.  To get started, download
the bomcheck.cfg fromhere,
then open the file with a text editor and modify it as suits you best.You can try out the program online by clicking:or,   
These are bothJupyter Notebooks.  Open the file browser of the notebook (folder icon at upper left), create a folder named "mydata", and upload your data to it.For more information, see the web pagebomcheck_help.html