MPD-Tally

Recalculate part quantities in multi-part MLCad parts lists according the actual number of times submodels are used.

Load MLCad parts list (*.txt):
Current file: mpdtallydemo_en.txt - tallied successfully! (Scroll to see results)

View Help/Instructions | Viewing Demo

Once tallied, your results can be exported to PDF, CSV or a BrickLink Wanted List/Brick Owl Wishlist (via a Brickstore file).

Update (Jan 02, 2017): Improvements to data display (e.g., colour swatch shown next to colour name), PDF export, and a few other things.

Update (Dec, 2016): MPD-Tally now automatically works with parts lists in all MLCad language options (currently: Dutch, English, French, German, Italian).

I am indebted to Martin Long and Peter Corish for their sterling work that preceded and inspired this app.

MLCad software is copyright to Michael Lachmann, and LDraw™ is a trademark owned and licensed by the Estate of James Jessiman; neither of whom sponsor, authorise or endorse this application.

LEGO® is a trademark of the LEGO Group of companies, which does not sponsor, authorise or endorse this application.
This material is presented in accordance with the LEGO® Fair Play Guidelines.


Help

Why This App Exists:

MLCad, a part of the LDraw System Of Tools available at ldraw.org, is a powerful application for designing LEGO® models, especially its facility for creating multi-part documents.

However, there is currently a small flaw in this feature when it comes to tallying up the part quantities when saving a parts list. Even when the "Submodels" option is explicitly set, it does not take account of the number of times a submodel is actually used, making the part quantities inaccurate.

MPD-Tally fixes that by processing a parts list and calculating the correct quantities. It then presents the results in some lovely neat tables which you can print or save/export for later use.

Pointlessly Detailed Instructions

  1. In MLCad, generate the parts list for your model and save the text file (*.txt).
    • Note: tick the "Submodels" option for multi-part document (*.mpd) models.
  2. In MPD-Tally, on the "Upload" screen, press "Browse…" and find your parts list.
    • Upload lists generated from regular as well as multi-part MLCad documents.
    • Upload lists in any of the default MLCad languages (Dutch, English, French, German, Italian).
  3. Press "Tally Parts!"
  4. Your parts list will be processed, tallied and displayed in neat tables:
    • Summary (information about your model).
    • Parts by Submodel.
    • Parts by Part Name/Description.
    • Parts by Colour.
  5. Print the page(s) or export as PDF, CSV, BrickLink Wanted List (XML) or Bricktore (.bsx) files (compatible with Brick Owl wishlists).
  6. Find the parts you have in your collection.
  7. Buy the parts you don't have, or have but don't want to open a MISB for.
  8. Go to a hobby shop, look at the ludicrous cost of other hobbies, and feel better about the money you just spent in comparison.
  9. Build your model.
  10. Bask in the glow of other's admiration.

Summary

Summary (mpdtallydemo_en.txt)
Item Main Orphaned Total
Total Number of Parts 65 5 70
Number of Unique Parts (ignoring colour variations) 5 3 8
Number of Unique Parts (including colour variations) 9 4 13
Number of Unique Colours 7 3 10
Number of Submodels (inc. main) 6 2 8

Notes

Orphaned Submodels/Parts:
An "orphaned" item is a submodel or part that is not used within the main model or any other submodel branching from the main model. Orphaned item counts are included in the data, but separated from the main model/submodels (you always get a count with and without orphan data).
Where a submodel is used in both the main and orphaned models, the system counts it as two separate versions and keeps separate quantity counts (one version is labelled as "[DUPLICATE]" in the result tables).
Empty Submodels
Submodels that do not contain any parts, or do not include other submodels, are completely ignored/skipped.
Part Files Included as Submodels
Where an LDraw part file (*.dat) is included in a model as a submodel (e.g. when it's an unofficial part), the submodel is treated (and counted) as if it is a regular LDraw library part.

Parts by Submodel

Parts by Submodel (mpdtallydemo_en.txt)
Part Name Part No. Colour Sub Qty Tot Qty
Grand Total: 65
Grand Total (inc. orphans): 70
MPD Tally Demo (mpdtallydemo.ldr)[x1]
Brick 1 x 1 Round with Hollow Stud3062bLight Bluish Gray22
Brick 1 x 63009White11
Brick 2 x 23003Red22
Brick 2 x 43001Blue11
Brick 2 x 43001Bright Green11
Brick 2 x 43001Yellow11
Cockpit 6 x 6 x 2 Cabin Base with Pin Holes47507White11
~ Submodel #1 (Sub1.ldr)22
~ Submodel #2 (Sub2.ldr)11
Part Sub-totals:99
Submodel #1 (Sub1.ldr)[x2]
Brick 2 x 43001Blue48
~ Sub-Submodel #3 (SubSub3.ldr)22
Part Sub-totals:48
Sub-Submodel #3 (SubSub3.ldr)[x4]
Brick 2 x 43001Red28
~ Sub-Sub-Submodel #5 (SubSubSub5.ldr)22
Part Sub-totals:28
Sub-Sub-Submodel #5 (SubSubSub5.ldr)[x8]
Brick 2 x 43001Dark Pink432
Part Sub-totals:432
Submodel #2 (Sub2.ldr)[x1]
Brick 2 x 43001Yellow44
~ Sub-Submodel #4 (SubSub4.ldr)11
Part Sub-totals:44
Sub-Submodel #4 (SubSub4.ldr)[x1]
Brick 2 x 43001Bright Green44
Part Sub-totals:44
Orphaned Submodel (orphaned.ldr) - Orphaned[x1]
Antenna 5H with Side Spokes3144Light Gray11
Slope Brick 31 1 x 1 x 0.66754200Trans Dark Blue11
Slope Brick 33 3 x 4 with Classic Space Pattern3297p90Light Gray11
~ Sub-Orphaned Submodel (suborphaned.ldr)22
Part Sub-totals:33
Sub-Orphaned Submodel (suborphaned.ldr) - Orphaned[x2]
Slope Brick 31 1 x 1 x 0.66754200Trans Yellow12
Part Sub-totals:12

Parts by Part Name/Description

Parts by Part Name (mpdtallydemo_en.txt)
Part Name Part No. Colour Qty
Grand Total: 65
Grand Total (inc. orphans): 70
Brick 1 x 1 Round with Hollow Stud3062bLight Bluish Gray2
Brick 1 x 63009White1
Brick 2 x 23003Red2
Brick 2 x 43001Blue9
Bright Green5
Yellow5
Red8
Dark Pink32
Cockpit 6 x 6 x 2 Cabin Base with Pin Holes47507White1
Sub-total:65
Orphaned Parts
Antenna 5H with Side Spokes3144Light Gray1
Slope Brick 31 1 x 1 x 0.66754200Trans Dark Blue1
Trans Yellow2
Slope Brick 33 3 x 4 with Classic Space Pattern3297p90Light Gray1
Sub-total:5

Parts by Colour

Parts by Colour (mpdtallydemo_en.txt)
Colour Part Name Part No. Qty
Grand Total: 65
Grand Total (inc. orphans): 70
BlueBrick 2 x 430019
Bright GreenBrick 2 x 430015
Dark PinkBrick 2 x 4300132
Light Bluish GrayBrick 1 x 1 Round with Hollow Stud3062b2
RedBrick 2 x 230032
Brick 2 x 430018
WhiteBrick 1 x 630091
Cockpit 6 x 6 x 2 Cabin Base with Pin Holes475071
YellowBrick 2 x 430015
Sub-total:65
Orphaned Parts
Light GrayAntenna 5H with Side Spokes31441
Slope Brick 33 3 x 4 with Classic Space Pattern3297p901
Trans Dark BlueSlope Brick 31 1 x 1 x 0.667542001
Trans YellowSlope Brick 31 1 x 1 x 0.667542002
Sub-total:5

Export Data

Export parts tally for 'mpdtallydemo_en.txt'.

Export to: PDF File | CSV File | BrickLink Wanted List | Brickstore File | Brick Owl Wishlist

PDF File

Exports as PDF file that can saved and printed at a later date.

Paper Size:

Tables to include:



Include parts from orphaned submodels?
Maximum of 40 letters, numbers, dashes and fullstops/periods (don't forget spaces count!).
Maximum of 30 letters, numbers, dashes and fullstops/periods (don't forget spaces count!).

CSV File

Exports as comma (or tab) separated values for import into a spreadsheet application.

Separate values with:

Include column headings on first row?
Include parts from orphaned submodels?

Brickstore File

Exports as a Brickstore (.bsx) file which can be uploaded to a Brick Owl wishlist.

Condition of parts:


Note: Brickstore does not yet offer the option for "Any" (new or old) condition.
Include parts from orphaned submodels?

Brick Owl

Brick Owl wishlists can be created by either copy/pasting a BrickLink wanted list file, or by uploading a Brickstore .bsx file*.

In either case, you first have to create a blank wishlist (if you haven't already). For help creating a wishlist, see the Brick Owl Wishlist Help page.

When you have created a wishlist, go to the "Wishlist > Import" page and select the name of your wishlist from the "Wishlist" dropdown selectbox.

BrickLink Wanted List
  1. Choose "Brickstore Upload XML" from the "File Type" options. A text field labelled "XML" will appear.
  2. In a plain text editor (e.g. Windows Notepad), open your saved Bricklink Wanted List and copy the entire contents to your clipboard.
  3. Paste the clipboard contents into the "XML" field on the Brick Owl page.
Brickstore File
  1. Choose "Brickstore .bsx File" from the "File Type" options.
  2. Use the "Browse" button to locate and select your saved Brickstore .bsx file.

Once uploaded, you can modify your wishlist further using Brick Owl's tools.

* Note: there is also the option to upload LDraw (.ldr) files, but not a multipart document (.mpd) files.