On 01:08 PM 20/08/2002 -0700, Jim Weir said: >I have a chance to acquire a legit copy of 99SE in a rather major swap of >test equipment and computer supplies with another company. It is a rather >minor component of the whole deal, but before I trade for it, I want to make >sure that it will do what I want it to do. As yet, perusing the >documentation that came with the 30-day trial package hasn't unearthed what >I want to know. > >I am currently using (ptui, yecch) Circuitmaker 2K for my board layouts, >which are minimal to say the least. Analog boards, 2 sided, nothing >spectacular. However, CM2K is about as unstable a platform as I've ever >used...I actually considered going back to tape and donuts there for a >while. > >Anyway, the one thing that CM has going for it is the capability to put a >whole family of parts into the design database library and call them up into >the schematic individually by value. And, with a little maneuvering, you >can put in your own identifiers (like company part number) and the >identifiers will ride along with the part. Thus, calling up a bom gives you >not only the part name and description, but your own internal stockroom part >number as well.
Protel Sch library has two groups of unspecified fields - the Library fields can only be changed in the library editor. The Part fields are changed, if desired, on the schematic. So you should be able to achieve a similar result. While editing a component in the Schib editor, edit the description of the component - there you can get access to the read-only library fields. You have a couple of ways of going with Protel Sch libraries: 1) use one symbol for each sort of component - that is have one basic resistor symbol. Then use the Part Type and the various Part Fields to fully specify the device. This is basically the standard method that has been used by many Protel users for many years. The Part Type field may be set to something like "2k2" for a jelly bean resistor or "2k00, 0.1%" if there is something special about it. Alternatively, the part type could be set to 2k00 and a Part Field set to 0.1% to specify the tolerance. You could even set a Part Field to a company part number and then import from an external source all the other fields before passing the design to the PCB - there is more comments on this below. The big problem with this method is that the designer is responsible for ensuring that all the information in various fields is correct. For instance footprint and part type and any other fields must match that specified in the company part register. P99Se and earlier did not allow the footprint or the Part Type or various other fields to be locked - so another user can come along and just double click the Part Type and change it without updating other dependent info such as footprint or company part no. Still you can enter into a part field a company part number and then use one of a couple of importing methods to fill in the rest of the data from an external database (export and import to/from Spread, some issues to watch out for, Protel's database linking - slow and some restrictions on what can be updated and what key fields can be used, or my Extract from Excel server, extra cost and requires Excel (currently) - see below.) This method would commonly be used with an external BOM/parts list system (manual, script based etc) where part matching is done using a combination of the Part Type, footprint and maybe some optional Part fields that have been defined by the designer. It is not really a robust method holding an specifying production data, but it works OK for small teams and companies with fairly manual work practices - the sort of place Protel has had as traditional customers. 2) use a separate library component for each company part number - so you would end up with a library with components with names like: "RES_2k2_5%_0805" "RES_2k2_2%_0805" "RES_2k2_1%_0805" "RES_2k2_5%_AXIAL0.4" "RES_2k7_5%_0805" etc This may seem a lot of components but most companies try to standardize on a small number of components for ordering reasons and the time taken to clone a component and update the data is short - a new component would need to be issued with a company part number so there is overhead anyway. Since the component is *fully* specified in the library it is possible to enter into the read-only Library fields the company part number. The other fields can then be left blank or specified as required. Since the footprint is known it can be entered into the first of the suggested footprints etc. There is still a problem with this technique in P99SE and earlier - it is not possible to lock the footprint or the Part Type so these can be edited, on the sch, to get out of sync with the company part number. Protel do offer a facility to link to a database and import some data into the part attributes from an external DBase-format database. This is reported to be very slow, only uses DBase and does not allow all fields (eg footprint) to be updated). There is an alternative server available that is faster, allows all sch-editable fields to be updated but requires Excel to be installed on the machine. Get it from: http://www.considered.com.au/Protel01.htm#CSExtractFromExcel (Declaration of interest - I wrote this server and I do expect people to pay something for it if they continue to use it after trialling it.) What I do these days is create unique components in the sch libraries, with appropriately descriptive names, and then run my extract from Excel server to fill in all the fields from the company part database, via an export to CSV and then into Excel format if necessary. From then on I can produce the BOM and Parts List directly from Protel using the Sch BOM wizard. This technique involves more upfront component management but is better in more automated environments - the big thing to watch is that by not being able to lock the Part Type and Description fields these could be come out-of-sync with the read-only component part number (specified in a part's read-only library field), if a designer is not careful in how they edit schematics. I have also written another server that can help automate and format parts lists/BOMs. It offers a few facilities over and above that offered by Protel's BOM wizards - most notably compressed designator format (R1-R9, R13, R18-R20) and the ability to save a standard tempate that can be associated with a menu or function key etc to produce one-touch BOMs in a standard company format. http://www.considered.com.au/Protel01.htm#CSPartsListServer (Declaration of interest - I wrote this server and I do expect people to pay something for it if they continue to use it after trialling it.) DXP offers some advantages over P99SE when trying to use method 2 - it allows various fields to be locked, at the library level, and so the user can be heavily discouraged from making changes that get the part attributes out of sync. I am not sure what database access functions exist in DXP and servers written for P99SE do not run under DXP or, at least not all of them run under DXP. There is no news on the DXP SDK so I can't say when my servers will be converted, if ever. The question has been asked of Altium by a few of us. >Along with that, CM's database is a text file. When putting in a large >number of "series" parts (as, for example, the ¼w 5% resistors), all you >have to do is put in the first sequence. Then by cut'n'paste, you can build >the whole series quite easily. In addition, once you have the ¼w family >done, the ½w family is really trivial to generate by copy and then a >search/replace on the differences. If you have a whole bunch of families in >your stockroom (electrolytics, mylars, etc.) building the libraries for your >entire stockroom of a few thousand parts isn't much more than a week's work. There are ways of achieving a similar result in P99SE using a combination of the various ASCII file formats - I think P99SE Schlib has an ASCII format - use Save-As and change the format. Then you can easily create all the components in a similar block fashion - with a bit of perl/python/whatever you could even highly automate the process to create all the components in the standard resistor/cap E-12, E24 etc ranges. >I can't find that capability in 99SE. If it can be done, would somebody >please let me know where in the documentation this feature is so that I can >reread something that I didn't get the first few times? Documentation is not always so clear on the sort of stuff you are after. I suggest try to understand my waffle above and ask questions if you need clarification. It will be faster. the documentation should be able to give you some ideas if you look up the details for the attributes for Sch library parts - look for details on "Library Fields" and/or "Part Fields" and/or "read-only fields". Look for info on a Sch lib components description. Try saving a library as an ASCII format. Then export the file from the DDB (if using the access DDB format) and then use a capable text editor to peruse the format - you should find it pretty easy to understand - it is largely self documenting -at least if you have some knowledge of the program. But see how you go. Bye for now, Ian Wilson ************************************************************************ * Tracking #: FB7360E3514A2244B5E200871E263D1F51A084F4 * ************************************************************************ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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://email@example.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *