Adam Wang wrote: > Does the "boom" system for bom explore this datecode from schematic sheet > itself?
Boom tries to know as little as possible about the details of your processes as possible ;-) What you could do is something like this: invent a part number that includes the characteristic you're looking for, e.g., FOO1234-2.7V Now you can choose whether you place this into the name space of the original manufacturer or whether you make this something in your own domain. The latter is of course much cleaner. So it would be QIHW FOO1234-2.7V (In Boom, all part numbers consist of a namespace and the actual part number, DIGI-KEY 490-1318-1-ND, MURATA GRM155R61A104KA01D, etc.) You can now set the value of the component in the schematic to FOO1234-2.7V. If there's a part called FOO1234-2.7V in Boom's database, then it will pick this part. The next question is how you communicate this to your distributor. If it translates to a special orderable part number, Boom can provide this. E.g., you could define that QIHW FOO1234-2.7V is equivalent to YOUR-DISTRIBUTOR FOO1234-DATECODE2000 If this doesn't translate easily into an orderable part number, you could implement the exception in whatever interface you use to generate your orders. Again, this is not part of Boom proper. So you could still invent a part number FOO1234-DATECODE2000, be it under YOUR-DISTRIBUTOR or maybe YOUR-DISTRIBUTOR-SPECIAL-CASE, and filter out the special cases for manual treatment. If you need a range of date codes, you could do this as well. Boom can find parts by name or by characteristics. So you could define the characteristics like this: YOUR-DISTRIBUTOR FOO1234-DATECODE1999 T=MAGIC PN=FOO1234 DATE=1999 YOUR-DISTRIBUTOR FOO1234-DATECODE2000 T=MAGIC PN=FOO1234 DATE=2000 YOUR-DISTRIBUTOR FOO1234-DATECODE2001 T=MAGIC PN=FOO1234 DATE=2001 ... T=... is the component type designator. Typically, it's R, C, etc. The component type defines what the following fields mean. "MAGIC" would be a type I just made up. Then you define a translation rule for Boom that tells it to translate FOO1234-2.7V to T=MAGIC PN=FOO1234 DATE=>=2000 (ugly syntax, sorry. That will probably change.) Boom will then first try to find a FOO1234-2.7V, which doesn't exist, and then do a parametric search for anything that has T=MAGIC, PN=FOO1234, and a date >= 2000. Among these it will pick the cheapest one in stock. To know availability and prices, you need to give Boom an inventory with the stock and price. E.g., SUPERMARKET BEER 42 USD 6 0.40 would tell Boom that 42 units of SUPERMARKET BEER are available, orderable in multiples of six, with a per-unit cost of USD 0.40. You can also make up your fake inventory, e.g., for test points that are really just PCB features, you could say QIHW TST 999999 USD 1 0 (You have 999999 units in stock and each has a cost of zero.) If there's a straightforward translation from the date code in the part number to the date, then you can also automate this translation process. Otherwise, e.g., if your distributor uses obscure date codes like this, YOUR-DISTRIBUTOR FOO1234-AC7Y T=MAGIC PN=FOO1234 DATE=1999 YOUR-DISTRIBUTOR FOO1234-Z3O1 T=MAGIC PN=FOO1234 DATE=2000 YOUR-DISTRIBUTOR FOO1234-M0-F T=MAGIC PN=FOO1234 DATE=2001 you can just make this table manually. Boom gives you a lot of freedom for arranging your naming schemes. Even things like T=... being the part type are just conventions you're free to change. Note: for now, Boom only knows equivalences that work both ways. So if you told Boom that the QIHW FOO1234-2.7V and the QIHW FOO1234-4.5V are both equivalent to the VISHAY FOO-1234, then it would assume that also QIHW FOO1234-2.7V and QIHW FOO1234-4.5V are equivalent, which isn't what you want. In the future, I'll add one-way equivalences to overcome this problem. > Surely indeed, this info can be recorded in sch sheets somewhere. Yup, definitely. - Werner _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkym...@freenode Twitter: www.twitter.com/milkymistvj
