Assuming I have designed a MOC and thus have a list of parts that I need for it: Is there a software that helps me determine which (quantity of which) "sets" I need to buy?
In particular, the requirements I see are as follows:
- Input: A list of parts, as in, some unique way of identifying each part by name or so, along with a colour, and required number.
- Input: Eligible "sets" - actually, these sets can simply be part lists of their own. It must be possible to customize the list of eligible sets, as I would like to include e.g. Bluebrixx part packs for certain standard parts instead of relying exclusively on official Lego sets. Also, I might like to list individual pieces from Bricks & Pieces as individual "sets".
- Input: Pricing information on sets. It must be possible to customize this information, so the prices can be adapted to current offers and discounts.
- Among all eligible sets, the quantity of each "set" selected. Based on this, we could get the ...
- ... output: Based on the selected "sets", I should get an overview of what parts are still missing for the target list, which ones would be left unused, and how much it would cost.
Optional bonus requirements:
- Some optimization feature that finds the best (= cheapest total, with least surplus parts) list of "sets" automatically. (But I am aware this is computationally hard, if not unsolveable other than by brute force in some cases.)
- Some import facility to automatically retrieve parts lists at least for official Lego sets from some up to date source.
- Part equivalency lists - some parts are just slight variations of other parts with some refinements done to the molds. In practice, though, it doesn't really matter for most models whether a given tile has a groove or not, whether a given brick or panel comes with open or closed studs on top, or whether the negative studs on the underside of a given part have a certain optimized shape. Thus, if parts can be marked as "equivalent" for a given set of parts list, they should be treated as if they were the same part.
Surely, MOC builders already routinely do this on paper or otherwise manually, but is there already any tool like this available?
EDIT: Here are some UI sketches that illustrate what I am after:
Consider, for instance, these input/output tables:
In there, I have listed the required parts for my MOC (obviously, only an example here for the sake of demonstration).
Also, I have assembled a list of sets to (possibly) buy, along with current pricing information. In the same table, I now want to be able to indicate how many copies of each set I'd like to buy.
The tool should now output the total cost. At the same time, it determines which parts I would get beyond the ones from the Required Parts list.
Note how the resulting output changes based on modifying the count of set copies to buy:
If the selected sets to buy do not cover the entire list of required parts, the tool should notice this:
I have tried to determine whether Rebrickable could fulfil these requirements.
What I could find was that I can compare a given parts list (of a MOC) to another set. Alternatively, I can compare such a parts list to another custom parts list.
Neither of these fulfils the requirement to compare against multiple sets (where "set" can simply mean "a package containing X > 1 times part Y"), and then see what additional parts remain.
Also, I could not find any way to supply custom price information (based on the particular discount offers that might currently be available where I can conveniently buy) to consider for such a comparison.