pcbnew-footmode- The Mode Footprint button in PcbNew

create counter

The "Mode Footprint" button in PcbNew

(If you've come here to learn about spreading footprints, or locking them, that information is further down the page.)

A devilish detail.

Lurking innocently on the upper toolbar of PcbNew is a button. In KiCad vers 4-0-4, it is to the right of a red and green "tick-tack-toe" icon. The tooltip text is "Mode footprint: manual and automatic movement and placement".

The image below is a composite, showing it in the two states it can be in…

Nothing dramatic happens immediately when you change its state. It doesn't, for instance, in itself move or place footprints. (Or anything else.)

But the way certain things behave subsequently will frustrate you, if you don't know that they are controlled by this button's state.

Most of the consequences are in what is available if you right-click on a footprint. The state of this button also affects what happens when you try to select a footprint. What happens, for instance, if you press "M" with the cursor near the footprint, in order to move it. Or press "R", or "G", or click on the footprint. Etc.

When the button is on…

You can only select the footprint for moving, rotating, dragging, etc. You cannot select the reference or value text fields of the footprint. (Although they will move with the footprint, if you move it.) This is normally good. I generally work with the button "on", only turning it "off" if I am doing a session of tweaking the locations of reference or value text fields. The big delight is that if you can't select either of them, you aren't constantly troubled by "selection confirmation" pop-ups.

You can "lock" footprints. (See below)

You can use the "global spread" feature. (See below)

When the button is off…

You can select the reference or value text fields, to move or rotate them. You should do this from time to time, but you can have a session of doing that, and then change the "Mode footprint" button back to "on".

(Just to confirm what I hope you inferred: You can't use "lock" or "global spread" when the button is off. Furthermore, any "locked" footprints are temporarily un-locked. (They revert to "locked" when you turn the "Mode footprint" back on.))

"Lock footprint"

If a footprint is "locked", and the "Mode footprint" button is still on, then you can't move the footprint, nor move the value or reference text fields. (You can connect tracks to a locked footprint.)

Locking can be quite helpful… it prevents accidental movements of things that you've got where you want them.

"Global spread" feature

When you start a PCB, after doing the earlier stages of the process, eventually you get to the point where you start PcbNew, and do the "Read Netlist" which "dumps" the components of the project on "the page", along with the rats' nest. With everything on a heap on top of one another.

If the "Mode footprint" button is in its "on", state, you can right click and then click on the "Global Spread and Place", and then, from the sub-menu, click on "Spread out all footprints".

It won't, of course, give you a "finished layout"… but at least you will no longer have a confusing jumble!

Don't, by the way, worry about things you may have read elsewhere making global spread seem complex. As long as you are on KiCad vers 4-0-4 or later, you should find it Just Works. No need to define board edges first, for instance. That was Bad Old Days.

?? "Mode footprint" ??

There is no footprint for a mode. That's not what the phrase is trying to talk about.

In A Certain Musical (of which I am quite fond) a ballet teacher gives her class and instruction: "Attitude promenade"… i.e., "I want you to assume the promenade attitude". That, and I believe, "mode footprint", comes from English adaptations of things that started in French. The button is concerned with the mode the program will operate in, in particular its mode in matters of editing placement, etc, of footprints in the design.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License