How to distribute footprints


Half year ago I have done one simple PCB using 4.0.7. Then have a long break. Now I have installed 5.0 and am trying to experiment how to do all PCB design steps. I am at - how to distribute footprints after Netlist will be read.

Working under F11 I have:

  • opened pic-programmer demo project,
  • moved some elements off board (one on to of another),
  • selected them all
  • right-click and Align/Distribute and Distribute Horizontally

My problem is - nothing happened.
I supposed - may be they are locked.
I found their Move and Place state is “Lock pads” so I have changed all of them to “Free” but it helped nothing.

By the way: What is the difference betwean “Lock pads” and “Lock footprint”? I have read doccumentation od PcbNew and dont remember any info about it. I think you can’t move the footprint if its pads are locked - so it is the same as if the whole footprint is locked (we are at the PCB desing layer and not footprint design layer).

Just before 5.0 release I sow the information that english doccumentation is updated for 5.0 and there are only the problem with translations. So I have printed english PcbNew doccumention. Chapter 7.3 Automatic Footprint Distribution says that first I have do to be ready for automatic distribution is to select “Footprint Mode” Icon. But I can’t find it. Then in local menu I should see “Global Spread and Place”. I have also not found any info in that doccumentation about via stitching that I have read here at forum than 5.0 will support.
Now I think that it was not true that english doccumentation was updated. So it is lost of time if people translate it to other languages now.

As I din’t foun solution there I try to experiment. Align/Distribute Align to Top works - so it is not the problem of fixed footprints.
I have checked that it also works when “Lock pads” are set. So this flag doesn’t meen pads are locked on PCB.
Distribute Horizontally icon shows some distance to be used. I suppose may be I have this distance set to 0 somewhere in settings. I spend some time looking into settings. Not reading the texts but looking for the field with 0 in it and didn’t found it.

So what I am missing?


Usually you can’t move the pins of a component so it makes sense to lock copper land area pads, too, relative to the whole footprint. On the other hand usually you want to move the whole footprint.


Unfortunately the docs aren’t up to date with 5.0. This was in 4.0 IIRC.


I see when I have footprint “Free” I can with hotkey M accidentally move separatelly its pads. If “Lock pads” it can’t happen - its good.
As I believe each software should be as simple as possible I wonder in practicall what for is the possibility to move each pad separatelly. I can imagine such need may be only one per million. So in such case I think the redefinition of footprint can be done allowing to simplify that one parametr for 999999/1000000 situations :). But it is only my opinion. May be I don’t know about users who need to move pads separatelly every day.


I would guess it’s much larger. Sometimes you want to move a pad if you need to make space for other items and you don’t have much space in the board. Even more common is changing the shape or size of a pad. I don’t have long experience but this far I think I have changed some individual pads in every board.


About the actual problem - Distribute uses the two outermost items and distributes the rest evenly between them. If you want a straight row from randomly placed items you want to use both align and distribute after moving some of them to good places.


When I have first time noticed that it would be good if TQFP pads near corner had different shape to allow for wider track I changed all my TQFP footprints. It was more than 10 years ago. Since then I have never noticed any need to modify individual pad. So we have completelly different experience :slight_smile:


Thanks. It works.
How it could have happened that I didn’t got that idea.
I am ashamed.
I just assumed that it must work as it works in Protel.
I understood to distribute as to scatter or to spread (two words taken from dictionary with no full filling of meaning).


I ran into a case with a QFP where I got DRC errors in the corners. I changed the end pads to rounded to fix the DRC errors, so there are use cases for it.


With V5 it is no longer recommend to use the Netlist reader.

Instead, in the main menu bar, select Tools>“Update PCB from Schematic…”


I knew about that possibility, but didn’t heared that normal read of Netlist is not recommended.


May be it is better solution to change that pads only if needed.
I have changed many years ago all corner pads (not only shape but also its length and possition a little) and solved that problem once forever. Because of this I have never falled into need to change individual pad shape during PCB design so was surprised what it is for.