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://www.mail-archive.com/proteledaforum@techservinc.com
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to