I'll try and keep this short and simple.
We have a stock of components that we regularly use (ie a selection of resistors, selection of capacitors etc). When generating a schematic we would use RESISTOR and CAPACITOR for the component symbol and edit the component details. The problem here is that unless you define very rigid standards, one user might enter a value of 100nF whilst the nest user (wanting to use the same component) might enter 0.1uF. This makes the BOM messy as we now have two items for the same component.
Is there anyway with Protel 99SE (which we are using now) or Protel DXP (which we are migrating to) of being able to select, for example, RESISTOR from the schematic library and then have a list of all the resistors we stock popup for us to choose from?
Another reason for doing this is that our boards are made out-of-house and for the BOM we need to include their part# which, again, is difficult to remember and, AFAIK, not able to be held in Protel.
The normal solution to this problem is to have a different SchLib symbol for *every* part you use. This sounds like a lot of work but in reality is not difficult and you do not end up with too many components in you libs. In one of the library (read-only) fields you can enter the unique part#. You can use other fields to specify the component fully in the SchLib - making creation of BOMs pretty easy.
The biggest problem, IMO, with this scheme in P99SE is that there is no way of locking the value field, so you can, in a moment of forgetfulness, forget to replace a component from the correct one from the library and simply edit the value - meaning the value and the part# are no longer paired correctly. Post processing with scripts etc can easily catch this problem.
DXP allows parameters to be locked in the SchLib which really helps this method of operation. Last time I tried it was possible to unlock the field in the Sch but you have to make an effort to modify a value which will probably mean you remember that you should be replacing. DXP also does a reasonable job of replacing parameters from the lib version, though there has been discussion on making this even better.
There was a tool that supposedly (I never tried it) integrated with P99SE and allowed the sort of pick from a list you describe. This was called dCSM - you can probably find it on the web.
I wrote a server that allows you to pull data out of an Excel spreadsheet, based on a part field (you nominate which one) and then fills in all other component fields. This is useful when you want an external database to hold your component data and the SchLib to hold just the unique Part#. This server is much faster than the P99SE glacial database linking and can update pretty much all the component fields incl footprint. (http://www.considered.com.au/Protel01.htm)
Hopefully there is something of use here, Ian
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To post a message: mailto:[EMAIL PROTECTED] * * To leave this list visit: * http://www.techservinc.com/protelusers/leave.html * * Contact the list manager: * mailto:[EMAIL PROTECTED] * * Forum Guidelines Rules: * http://www.techservinc.com/protelusers/forumrules.html * * Browse or Search previous postings: * http://www.mail-archive.com/[EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *