At 02:18 PM 1/3/2002 -0500, Bob Wolfe wrote:

>But is it not true that you need to globally update each unique footprint
>type part (not every part) at least separately globaly, sorry if I was not
>clear enough about this.

When you are changing footprints -- or anything else -- you must select in 
some way those parts which are to be changed. You may use global edits or 
combinations of edits to make these changes based on almost any shared 

Mr. Wolfe has indeed uncovered a deficiency, but it seems to me that he has 
not clearly expressed it. The way that Protel works is completely in line 
with schematic-driven design. The footprints are controlled from the 
design, if that is they way you want to operate. Or they can be 
alternatively controlled from the PCB, with the changes being taken back 
into the schematic.

I wrote extensively on this yesterday, but today's comment from Mr. Wolfe 
does not seem to reflect his having read what I wrote. Perhaps I wrote too 
much; but I felt it necessary to examine his experience and complain in detail.

>By that I mean you can globally update all the footprint names FROM
>"conn,.1ctr,.025pin,vert,shrd"  TO say "XYZ" , etc but you still need to do
>that for each footprint type.

Not necessarily. You could, for example, update all capacitors to "0603" 
without any regard to what footprint was originally there. Or you could by 
a global edit or manually (by "touching" each instance with shift-click) 
select what you did *not* want to change and then change the rest by 
appropriately controlling the global edit.

>On a large schematic that can still be a bit of work.

As I have mentioned, determining what footprints to use is about one-third 
of a PCB designer's job. There are ways that this could be automated, to be 
sure, but those too take a lot of work to develop, and many of us would not 
like to be forced to use them.

As I have written, in the end we may find ourselves with library-controlled 
footprints, but that is *not* what we now have. We have 
schematic-controlled footprints.

>I admit it is easy for resistors, caps etc. the majority use the same
>0603 etc. And those are not as much an issue to change.
>Unless there is some other way to drive the global update or I am not using
>it to its fullest,
>this is still seems way too much work for a large schematic.

Nothing that Mr. Wolfe has explicitly described so far is much more work, 
if any, than the minimum necessary for footprints to be intelligently chosen.

The situation Mr. Wolfe has described is one where a schematic is provided 
to the designer which has either no footprints assigned, or the footprints 
assigned are incorrect for use with Protel. This is a common situation for 
contract designers or service bureaus.

If one wants the schematic to control footprint selection, which I consider 
a good idea and which Mr. Wolfe also seems to desire, one must choose *for 
each part* a footprint. However, if parts have some shared characteristic 
that can be used to control a global edit, those parts can be changed en masse.

There is another option, which is to change the footprints in a 
spreadsheet. This is how I used to accomplish the matter aforetime: I would 
extract component information from the net list, convert it to a 
spreadsheet, enter footprint names in the appropriate fields (and I could 
use various sort and/or replacement techniques to make a whole series of 
footprint changes at once), and then convert that back to a net list part 
section for load into the PCB. I did this with Tango and I did this with 
Protel, indeed, I still do where I have no Protel schematic but only a 
client-supplied net list.

But in the present case, brought to us by Mr. Wolfe, we have an OrCAD 
schematic which has been imported to Protel, so we might as well control 
footprints from the schematic; this will help with changes later on.

Now, here is the deficiency: if I have assigned the footprints in the 
schematic and I make a project library, the footprints I have assigned are 
not taken back into the library. This causes me no pain with the present 
design, but if I am going make schematic changes to add parts, or if I am 
going to do new schematics for this client, I will regret that the 
footprints I have painstakingly assigned -- yes, it is work -- will not be 
shown as options in the project library part description dialog; I will 
need to assign footprints again, or edit the library. And there is no easy 
way to edit the library other than by editing each part in it. This is not 
a *huge* amount of work, normally, particularly if one has a report in hand 
with all the footprints listed, easy to generate, but I can see that it 
would seem irritating to have to do it.

I have suggested a solution, a utility to read a schematic and stuff the 
used footprints into the footprint option fields in the cache copy of the 
parts. This would cause the project library, when created, to contain these 
footprints. This is not a difficult utility to write. Questions to be 
answered would include how the program should behave if more than four 
footprints are used for that part in the schematic and how to treat 
existing unused footprint options.

But a case could be made for using only one footprint per library part 
(i.e.. one would use a separate symbol for each footprint variety, so one 
would have, for example, C-0402, C-0603, C-0805, etc. If this practice were 
followed, then the whole process would be simplified even though many more 
symbols would exist.

Now, with the instant problem, an OrCAD imported schematic with wrong 
footprints. Sometimes there are no footprints, but let me assume that OrCAD 
has been configured to give footprints that some engineer actually chose. 
So the names means something to him or her, but they just don't pull up the 
right Protel parts. In this case I'd recommend making a PCB library which 
gives those names to the right footprints. This would be a client-specific 
library, used whenever working with schematics from that client.

Now, it might be useful to be able to use a translation table. I.e., if 
there is X footprint name, change it to Y based on a table. Again, it would 
not be difficult to write a utility to do this. Service bureaus often face 
special problems like this, certainly I did, which I why I used to write 
lots of utilities. But Protel's global edits and spreadsheet facilities 
have made much of what I formerly would have done by opening up QuickBasic 
no longer necessary.

One very powerful and fast technique for using global edit is to select, 
with shift-click, whatever one wants to edit. Then selection can be used as 
a match criterion. Or various edits, as Mr. Wilson has noted, can be used 
to select what one wants to edit. One could select all capacitors in the 
first edit (by matching on C*, perhaps), then deselect all electrolytics 
either manually with shift-click or by some other shared criterion, and 
then assign a footprint to what remains.

Using a spreadsheet taken into Excel, one can do much more sophisticated 
global edits based on formulas and more, perhaps even lookup tables, I 
haven't tried it but I'm fairly sure it could be easily done. So if I 
received an OrCAD schematic from a client who uses particular footprint 
names, I could translate those names to Protel. But as I have mentioned 
above, I think it might be better to use a client footprint library, 
certainly it would be more direct.

Abdulrahman Lomax
Easthampton, Massachusetts USA

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* To post a message: mailto:[EMAIL PROTECTED]
* To leave this list visit:
* Contact the list manager:
* Forum Guidelines Rules:
* Browse or Search previous postings:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to