I have been trying to use the designlink ULP for BOM generation.
By ensuring that the part numbers are described correctly in the library, I can add parts to my designs and then run designlink, which will search Farnell for the part number of each device and add them to a BOM.
This largely seems to work quite well. However the search string that designlink uses is taken by aggregating the device name, the technology and the package variant name.
This means that if you name your package variant differently to the way the part number is specified, or if the part number doesn't follow the right ordering (DEVICE_NAME+TECHNOLOGY_NAME+PACKET_VARIANT_NAME) then designlink will search for the wrong thing and fail.
As well as for devices with alternative part number schemes, this is particularly frustrating when you have multiple footprints for a particular package, for example to deal with reflow and wave soldering. So if you have two package variants for device LTC2850, one called DD_REFLOW and one called DD_WAVE (and for completeness I might set a technology name of *) then designlink will search Farnell for LTC2850*DD_REFLOW or LTC2850*DD_WAVE and so will come up with nothing because of the appended _REFLOW or _WAVE.
What is so annoying is that designlink sets the attribute MPN with the manufacturer part number (and also MF for manufacturer) after searching designlink, but it doesn't respect these values when searching itself. So if I set an MPN of LTC2850*DD for my device, designlink will ignore it and overwrite it if there is no OC_FARNELL (or OC_NEWARK) order code set.
In many cases setting the specific order code in the library is not desired because there will be multiple options available and you don't want to limit yourself to just one. To use the LTC2850 example again there are three versions of the DD (DFN8) version available from Farnell, with different temperature grades, any of which are suitable for my project (LTC2850CDD, LTC2850HDD, LTC2850IDD). I am forced to pick one and set an order code when I design the schematic.
Surely that defeats the point of designlink? What's the point of having a selection box come up and allow you to pick the best price/etc if you don't get to see it because you already had to pick one specific order code to get it to work at all?
Really all I want is to be able to override the designlink search string with an attribute, so I can specify exactly what part number should search for, and it would use this rather than autogenerating the search term from name, technology and packet variant. This seems straightforward and sensible but I can't seem to do it. Is it possible?